Memcached 是一种高性能的分布式内存对象缓存系统。在动态应用,Memcached 既能提高访问的速度,同时还减低了数据库的负载。
Danga Interactive 为提升 LiveJournal.com 的速度研发了 Memcached。目前,LiveJournal.com 每天已经在向一百万用户提供多达两千万次的页面访问。而这些,是由一个由 Web 服务器和数据库服务器组成的集群完成的。Memcached 几乎完全放弃了任何数据都从数据库读取的方式,同时,它还缩短了用户查看页面的速度、更好的资源分配方式,以及 Memcache 失效时对数据库的访问速度。
WordPress 和 Memcached
由于 WordPress 默认支持 Object Cache,所以在 WordPress 实现 Memcached 就是使用 Memcached 把 WordPress 的 Object Cache 写到内存中去,下次直接从内存中读取。相比直接从数据库去读取数据,或者从 Object Cache 数据存到文件,然后从硬盘中读取,Memcached 有很大的速度优势。
Memcached 命中率
上图是我爱水煮鱼使用 Memcached 之后的缓存对象的命中率,可以看出命中率是非常高,接近 97%,基本上可以保证所有数据都是从能内存中取,所以使用 Memcached 进行缓存是非常有效的。
WordPress 如何启用 Memcached 缓存
1. 需要你的服务器支持,就是你的 PHP 需要安装上 Memcached 相关的扩展,注意 PHP 有两个扩展:PHP Memcache 扩展 和 PHP Memcached 扩展,两者仅仅相差一个字母 D,你可以通过 phpinfo() 这个 PHP 函数来检测,你安装的是哪个扩展,强烈建议使用 PHP Memcached 扩展。
2. 根据不同的 PHP 扩展下载不同的 WordPress Memcached 插件(这个很重要):
PHP Memcached 扩展(强烈建议):WPJAM Basic 插件已经集成,请将 wpjam-basic/template/ 目录下的 object-cache.php 文件复制到 wp-content 目录下。
PHP Memcache 扩展:http://wordpress.org/extend/plugins/memcached/
3. 把下载的:object-cache.php 复制到 wp-content,注意不是 wp-content/plugins/。
4. WordPress 会自动检查在 wp-content 目录下是否有 object-cache.php 文件,如果有,直接调用它作为 WordPress 对象缓存机制。