项目中有一个对实时响应性比较高的服务,引入了 Memcached 以减少延迟和减少数据库压力。但是期间遇到了一些问题,这里记录一些调优细节。
客户端选择
- 最开始我使用的是 Memcached Java Client,但是最后放弃了,放弃原因包括:
- 有时会出现的 “No Thread For Socket” 异常,我记录在这里;
- 它不支持 NOREPLY 模式(在这种模式下,更新缓存的 set 操作可以不需要 Memcached 服务端响应,这使得 set 操作非常非常快)。
- 现在我使用的是 XMemcached。
统计信息
可以通过 nc 命令向 Memcached 服务端发送消息来获取统计信息,例如:
echo "
[……]阅读全文