“不折腾不舒服斯基”说的肯定就是我。。。WordPress的臃肿大家都是知道的,几乎每个页面都需要不少的数据库请求,今天闲着没事,看到水煮鱼大大的博客用的是Opcache+Memcached,页脚显示其页面的生成时间不到千分之一秒,惊呆了有木有!作为小白的我,折腾了大半天,下面准备分享一下WordPress如何使用Memcached进行内存缓存加速。
什么是Memcached
借用百度百科的内容
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。
说白了,就是把原本需要从硬盘中读取的信息(默认为数据库等信息),缓存到内存中,从而提高网站速度。大家都知道,内存的读取速度是硬盘的N倍,WP有不少缓存插件,但基本都是把缓存保存在硬盘,虽然也能减少服务器压力,但调取速度远没有从内存中读取速度来的快,而Memcached就是为了解决这个问题。(由于内存是易失性存储器,断电或重启服务器后,缓存数据会清空。)
WordPress启用Memcached
主要有3个步骤:
服务器安装Memcached服务。
服务器安装Memcached客户端。
WordPress安装相应扩展。
前两步安装Memcached服务和客户端就不讲了,网上还是有很多的教程的,可以搜索一下。
我的服务器环境是使用军哥lnmp.org配置的,所以前两步的安装Memcached服务和客户端只需按照军哥博客内提供的方法即可。
需要注意一点,Memcached客户端有两个:php memcache 和 php memcached,两个名称只相差一个字母“d”,我选择的是第二个,也就是php memcached。这一步选择不同,第3步也会有所不同。
WordPress安装相应扩展(重要!请根据前面安装的客户端不同,选择对应的扩展!)
不用在后台插件里面下载和安装,直接打开网页下载,然后解压,把解压出来的文件夹内的
object-cache.php
文件放到网站目录的
wp-content
文件夹内,注意不是
wp-content/plugins/
!
到这一步就完成了Memcached的配置,WordPress会自动检查在wp-content目录下是否有object-cache.php文件,如果有,会直接调用它作为WordPress对象缓存机制。
下载下面的工具可以查看Memcached的使用情况,比如使用率和命中率。
本地下载
密码: 8b19
下载后将解压出来的文件
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行)
分别把
memcache
和
password
改为你想要设置的用户名和密码即可。
使用建议
如果觉得第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那么傻瓜。
关于W3 Total Cache的设置,网上方法也是很多,最近我也会总结分享一篇文章出来,敬请期待