gpt4 book ai didi

mysql - 与 MYSQL 的新 innodb memcached 插件混淆?

转载 作者:可可西里 更新时间:2023-11-01 08:34:25 25 4
gpt4 key购买 nike

我已经让 memcached 以传统方式与 memcache php 扩展一起运行,我的应用程序设置为在需要时缓存查询。

我现在正在运行 MySQL 5.6,并想测试新的 innodb_memcached 插件,以快速访问我数据库中某些表的 NoSQL 样式键值。

但是我对安装感到困惑:

  • 既然我已经安装了 memcached,我应该卸载它然后安装 innodb 插件版本吗? (在我的例子中是通过 yum 安装的)
  • 如果是这样,我的应用程序能否正常运行并仍以通常方式缓存查询?还是这一切都会作废?
  • 我应该将它与标准版本一起安装并在单独的端口上运行吗?如果是这样,我将如何处理?

基本上,我只是想要一些关于此安装的建议。我希望它是一个简单的卸载和替换,其他一切都像以前一样运行。

提前致谢

最佳答案

一如既往,答案是“视情况而定”。

您可以使用 memcached 插件来完全替代现有的标准 memcached 服务器。您只需要通过在 innodb_memcache.containers 表中插入一行来告诉插件您要使用哪个表来存储缓存数据。在这种情况下,您可能会为缓存创建一个全新的表。在这种情况下,您的应用程序和现有数据库保持不变。好处是您现在拥有一个持久性 memcached,其空间与您的数据库一样多(而不是受限于您的 memcached 服务器上的 RAM 量)

但是,您还可以采用另一种方法,即访问实际的 MySQL 数据,但只能通过 Memcached 协议(protocol)访问。在这种情况下,您可以从您的应用程序中完全删除 SQL 交互,并且仅使用您的 memcached 客户端来添加/删除/更新您的数据。显然,这可能适用于您的特定用例,也可能不适用于您的特定用例,但如果您可以实现它,那么它会通过一次执行缓存和永久存储来大大简化您的应用程序。

要使用第二种方法,您需要再次配置 innodb_memcache.containers 表以正确映射到目标表。您甚至可以通过同一个 memcached 接口(interface)公开多个表,只需向该表添加更多行并在您的键前加上 @@identifier.

例如:@@users.1234 将使用 users 容器(映射到表 XYZ)并使用 1234 作为缓存键)

关于mysql - 与 MYSQL 的新 innodb memcached 插件混淆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17085750/

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