Memcached 可以存储来自调用数据库和 API,或者页面渲染天生的任意类型的数据(字符串,工具)到内存中,也可以直接到内存中去读取。它的 API 支持目前大部分盛行的编程措辞,Memcached 的官方网站:http://memcached.org/
最初 Danga Interactive 为提升 LiveJournal.com 的速率而研发了 Memcached,目前,终极实现了每天已经在向一百万用户供应多达两千万次的页面访问,而这些,是由一个由 Web 做事器和数据库做事器组成的集群完成的。
PHP 有两个 Memcached 扩展:“PHP Memcache 扩展” 和 “PHP Memcached 扩展”,这便是是我们搞混的地方。

PHP Memcache 扩展用 PHP 实现的,支持面向工具和面向过程两种接口,2004年就实现了,是老的扩展,而且功能少,属性也可设置的少。
PHP Memcached 扩展基于 libmemcached 开拓的,利用 libmemcached 库供应的 API 与 Memcached 做事进行交互,只支持面向工具的接口,2009年才实现,Memcached 扩展功能更加完善,支持的函数更多,比如支持批量操作,现在一样平常建议利用 Memcached 扩展。
下面是一个支持功能对照列表:
比拟项
Memcache
Memcached
发布日期
2004-06-08
2009-01-29 (beta)
仍在掩护?
Yes
Yes
第三方依赖
None
libmemcached
Key自动修复
Yes
No
Append/Prepend
No
Yes
自动序列化
Yes
Yes
二进制协议
No
Optional
CAS
No
Yes
压缩
Yes
Yes
超时设置
Connect Only
Various Options
同等性哈希
Yes
Yes
延迟Get
No
Yes
Multi-Get
Yes
Yes
Session支持
Yes
Yes
指定Server get/set
No
Yes
数字存储
Converted to Strings
Yes
支持长连接?
Yes
Yes
Memcached 可以极大提高 WordPress 的效率由于 WordPress 默认支持 Object Cache,以是在 WordPress 实现 Memcached 便是利用 Memcached 把 WordPress 的 Object Cache 写到内存中去,下次访问的时候直接从内存中读取。比较直接从数据库去读取数据,或者从 Object Cache 数据存到文件,然后从硬盘中读取,Memcached 有很大的速率上风。
上图是我爱水煮鱼利用 Memcached 之后的缓存工具的命中率,可以看出命中率是非常高,靠近 99%,基本上可以担保所有数据都是从能内存中取,以是利用 Memcached 进行缓存是非常有效的。
WordPress 如何启用 Memcached 缓存首先须要明确一点,必须同时安装 Memcached 做事端和其 PHP 扩展。
如果安装了 Memcached 做事端不安装扩展,那么 PHP 无法操控 Memcached。同样如果安装了 PHP Memcached 扩展,但是没有安装 Memcached 做事端,那么这个就无法利用。
1. 首先做事器须要安装 Memcached 做事端,然后 PHP 须要安装上 Memcached 的扩展,再次把稳 PHP 有两个扩展:PHP Memcache 扩展 和 PHP Memcached 扩展,两者仅仅相差一个字母 D,你可以通过 phpinfo() 这个 PHP 函数来查看到底安装的是哪个扩展,一定要利用 PHP Memcached 扩展。
2. WPJAM Basic 插件已经集成 Memcached 的功能,将 wpjam-basic/template/ 目录下的 object-cache.php 文件复制到 wp-content 目录下,把稳不是 wp-content/plugins/。
3. WordPress 会自动检讨在 wp-content 目录下是否有 object-cache.php 文件,如果有,直接调用它作为 WordPress 工具缓存机制。
4. 安装成功之后,WPJAM Basic 会自动在 WordPress > WPJAM 菜单下的的「系统信息」 下看到 Memcached 的信息:
WPJAM Basic 插件已经集成了 Memcached,下载 WPJAM Basic 之后,将 wpjam-basic/template/ 目录下的 object-cache.php 文件复制到 wp-content 目录下即可。