WordPress加速-使用Memcached内存缓存

不折腾不舒服斯基”说的肯定就是我。。。WordPress的臃肿大家都是知道的,几乎每个页面都需要不少的数据库请求,今天闲着没事,看到水煮鱼大大的博客用的是Opcache+Memcached,页脚显示其页面的生成时间不到千分之一秒,惊呆了有木有!作为小白的我,折腾了大半天,下面准备分享一下WordPress如何使用Memcached进行内存缓存加速。

什么是Memcached

借用百度百科的内容

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

说白了,就是把原本需要从硬盘中读取的信息(默认为数据库等信息),缓存到内存中,从而提高网站速度。大家都知道,内存的读取速度是硬盘的N倍,WP有不少缓存插件,但基本都是把缓存保存在硬盘,虽然也能减少服务器压力,但调取速度远没有从内存中读取速度来的快,而Memcached就是为了解决这个问题。(由于内存是易失性存储器,断电或重启服务器后,缓存数据会清空。)

WordPress启用Memcached

主要有3个步骤:

  1. 服务器安装Memcached服务。
  2. 服务器安装Memcached客户端。
  3. WordPress安装相应扩展。

前两步安装Memcached服务和客户端就不讲了,网上还是有很多的教程的,可以搜索一下。
我的服务器环境是使用军哥lnmp.org配置的,所以前两步的安装Memcached服务和客户端只需按照军哥博客内提供的方法即可。

需要注意一点,Memcached客户端有两个:php memcache 和 php memcached,两个名称只相差一个字母“d”,我选择的是第二个,也就是php memcached。这一步选择不同,第3步也会有所不同。

WordPress安装相应扩展(重要!请根据前面安装的客户端不同,选择对应的扩展!)

php memcache 可以下载:https://wordpress.org/plugins/memcached/

php memcached 可以下载:https://wordpress.org/plugins/memcached-redux/

不用在后台插件里面下载和安装,直接打开网页下载,然后解压,把解压出来的文件夹内的object-cache.php文件放到网站目录的wp-content文件夹内,注意不是wp-content/plugins/

到这一步就完成了Memcached的配置,WordPress会自动检查在wp-content目录下是否有object-cache.php文件,如果有,会直接调用它作为WordPress对象缓存机制。
下载下面的工具可以查看Memcached的使用情况,比如使用率和命中率。

 本地下载
密码: 8b19

memcached

下载后将解压出来的文件memcached.php放到任意可访问的位置,比如网站根目录/memcached.php,访问http://你的域名/memcached.php即可查看。

会提示输入用户名和密码
默认用户名:memcache
默认密码:password

define('ADMIN_USERNAME','memcache'); // Admin Username
define('ADMIN_PASSWORD','password'); // Admin Password

修改用户名和密码可以修改memcached.php,查找(大概22和23行)

分别把memcachepassword改为你想要设置的用户名和密码即可。

使用建议

如果觉得第3步不够省心,而且希望后续使用能够自定义并且能够缓存页面,建议使用插件:W3 Total Cache,用户量不输大名鼎鼎的缓存插件WP Super Cache.

如果使用W3 Total Cache,可以省去第3步的扩展安装,该插件会根据你的客户端自动安装对应的扩展文件object-cache.php,并且该插件的缓存功能也非常强大。

其实WP Super Cache在完成Memcached的配置后,也会自动出现一个使用Memcached缓存的选项(试验阶段),但是相比W3 Total Cache还是有些差距。只是W3 Total Cache的配置不像WSC那么傻瓜。