0

我正在尝试测试在 MySQL 服务器上使用 memcached 以提高性能的性能。

我希望能够使用普通的 MySQL 命令行,但我似乎无法让它连接到 memcached,即使我指定了正确的端口。

我在与 memcached 进程和 MySQL 服务器相同的机器上运行 MySQL 命令。

我在网上环顾四周,但除了程序 API 之外,我似乎找不到任何关于使用 memcached 的信息。有任何想法吗?

4

1 回答 1

0

Memcached 有自己的协议。MySQL 客户端无法直接连接到 memcached 服务器。

你可能会想到 MySQL 5.6 的特性,它允许 MySQL 服务器使用与 memcached 兼容的协议来响应连接,并直接读取和写入 InnoDB 表。见http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached.html

但这不允许 MySQL 客户端连接到 memcached —— 恰恰相反,允许 memcached 客户端连接到 mysqld。


回复您的评论:

InnoDB memcached 接口本身并不是真正的缓存解决方案,它是一种使用熟悉的键/值 API 来处理 InnoDB 表中的持久数据的解决方案。InnoDB 确实在其缓冲池中对数据页进行透明缓存,但这与使用 SQL 读取的传统数据没有什么不同。InnoDB 还会在提交时同步提交对其事务日志的所有更改。

这是我在 Percona 的同事的博客。他测试了 MySQL 5.6 memcached API 是否可以用作缓存层,发现实际使用 memcached 还是优越的。

http://www.mysqlperformanceblog.com/2013/03/29/mysql-5-6-innodb-memcached-plugin-as-a-caching-layer/

这是该博客的一个结论:

正如预期的那样,使用 InnoDB 版本时写入操作会变慢。但平均提取时间也略有增加。

于 2013-07-17T18:51:15.700 回答