gpt4 book ai didi

mysql - 是不是 Memcached 和 Innodb 中的 Buffer pool 做同样的工作?

转载 作者:行者123 更新时间:2023-11-29 06:33:33 30 4
gpt4 key购买 nike

我是这样理解的:

Innodb 中的缓冲池:它存储来自 Sql 表的索引和数据并缓存它以供将来查询,因此它不需要一直打扰 Mysql。

Memcached:用于存储从 Innodb 接收到的数据并对其进行缓存,因此无需每次都询问 Innodb。

他们不是都在做同样的事情,即在 Ram 中缓存响应,这样它会更快并减少 I/O 和 sql 解析吗?那为什么要在 Innodb Buffer pool 之上再加一层 memcached 呢?

最佳答案

缓冲池 由 InnoDB 管理。执行查询所需的一切都必须在缓冲池中,以便在从磁盘读取新数据以用于当前查询时,如果需要,已经存在的数据将被逐出。

即使表在缓冲池中,表之间的联接仍会完成并且可能代价高昂。

Memcached 另一方面是一个键值存储。不能对存储在那里的数据执行任何关系操作,只能插入和检索。它也是分布式的,可以构建巨大的集群。

通常,长时间运行或大量查询的结果会在 memcached 中存储一段时间,从而承担数据库的负载。

关于mysql - 是不是 Memcached 和 Innodb 中的 Buffer pool 做同样的工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26433651/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com