Documentation Home
MySQL 8.0 参考手册  / 第 15 章 InnoDB 存储引擎  / 15.20 InnoDB 内存缓存插件  /  14.20.1 InnoDB memcached 插件的好处

14.20.1 InnoDB memcached 插件的好处

本节概述了 daemon_memcached插件的优点。InnoDB表和memcached的组合 提供了优于单独使用它们的优势。

  • 直接访问InnoDB存储引擎,避免了SQL的解析和规划开销。

  • 在与 MySQL 服务器相同的进程空间中运行memcached避免了来回传递请求的网络开销。

  • 使用memcached协议写入的数据是透明写入InnoDB 表的,不经过 MySQL SQL 层。您可以控制写入频率,以在更新非关键数据时实现更高的原始性能。

  • 通过memcached协议 请求的数据 是透明地从 InnoDB表中查询的,无需通过 MySQL SQL 层。

  • 对相同数据的后续请求由 InnoDB缓冲池提供。缓冲池处理内存缓存。InnoDB 您可以使用配置选项 调整数据密集型操作的性能。

  • 数据可以是非结构化的或结构化的,具体取决于应用程序的类型。您可以为数据创建新表,或使用现有表。

  • InnoDB可以处理将多个列值组合和分解为单个 memcached项值,从而减少应用程序中所需的字符串解析和连接量。例如,您可以将字符串值存储 2|4|6|8memcached 缓存中,并InnoDB根据分隔符拆分该值,然后将结果存储在四个数字列中。

  • 内存和磁盘之间的传输是自动处理的,简化了应用程序逻辑。

  • 数据存储在 MySQL 数据库中,以防止崩溃、中断和损坏。

  • 您可以通过 SQL 访问底层InnoDB表,以进行报告、分析、即席查询、批量加载、多步事务计算、并集和交集等集合操作,以及其他适合 SQL 的表现力和灵活性的操作。

  • daemon_memcached您可以通过将源服务器上的插件与 MySQL 复制结合 使用来确保高可用性 。

  • memcached与 MySQL 的集成提供了一种使内存中数据持久化的方法,因此您可以将其用于更重要的数据类型。您可以在应用程序中使用 more addincr和类似的写入操作,而不必担心数据可能会丢失。您可以停止和启动 memcached服务器而不会丢失对缓存数据所做的更新。为防止意外中断,您可以利用InnoDB崩溃恢复、复制和备份功能。

  • InnoDB快速 主键查找 的方式非常适合memcached单项查询。插件使用的直接、低级数据库访问路径daemon_memcached对于键值查找比等效的 SQL 查询更有效。

  • memcached 的序列化功能可以将复杂的数据结构、二进制文件甚至代码块转换为可存储的字符串,提供了一种将此类对象放入数据库的简单方法。

  • 因为可以通过 SQL 访问底层数据,所以可以生成报告,跨多个键搜索或更新,以及调用memcached数据上的AVG()MAX()等函数。使用memcached本身, 所有这些操作都非常昂贵或复杂 。

  • 您不需要在启动时手动将数据加载到 memcached中。当应用程序请求特定键时,会自动从数据库中检索值,并使用 InnoDB 缓冲池将其缓存在内存中。

  • 因为memcached消耗的 CPU 相对较少,而且它的内存占用很容易控制,所以它可以在同一系统上与 MySQL 实例一起舒适地运行。

  • 因为数据一致性是由用于常规InnoDB表的机制强制执行的,所以您不必担心过时的memcached数据或在缺少键的情况下查询数据库的回退逻辑。