我正在使用 MySQL Cluster 7.2 进行 Memcached 实现。我已经使用以下参数安装并配置了 memcached:
PORT="11211"
USER="mysql"
MAXCONN="1024"
CACHESIZE="1024"
OPTIONS=""
但是 Memcached 的工作与 MySQL 引擎无关(即当插入到 Memcached 时它不会存储到数据库中)
任何人都可以帮我提供参数,以便它可以访问 ndb 引擎并将值存储在 memcache 和数据库中吗?
我无法弄清楚两者之间的关系。
使用 Memcached API for MySQL Cluster 7.2 的基本文档从http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-ndbmemcache.html开始
在 memcached 命令行上,您需要提供一个选项,例如“-E ndb_engine.so”。Memcached 具有“可插入引擎”架构,MySQL Cluster 组件作为 NDB 引擎实现。当 memcached 使用正确的引擎启动时,您应该会看到如下日志消息:
我不相信这是可能的。来自MySQL 和 Memcache 部分的常见问题解答:
因此,不应期望将值插入 memcached 来更新 MySQL 数据库。一个主要问题是 memcached 不知道数据应该如何存储以及存储在何处。它只是 RAM 中的键/值存储。
反之则不然。您可以修改数据库中的数据,并在内存缓存中对其进行更新。来自相同的常见问题解答:
MySQL UDF 文档的强制性有用链接。
要跟进 JD 的响应,您可以在http://www.clusterdb.com/mysql-cluster/scalabale-persistent-ha-nosql-memcache-storage-using-查看使用 Memcached API 到 MySQL 集群的工作示例mysql集群/
您可以通过在数据库中设置元数据来选择某些键值对是否存储在 Memcached、MySQL Cluster 或两者中。