内存缓存Memcached可以突破MySQL性能瓶颈,加速博客的访问。
安装Memcached拓展
Memcached是php的一个拓展,类似的拓展还有Memcache。少了一个d的是旧版,多了一个d是新版。新版有更好的性能,推荐安装。
我使用的是lnmp一键安装包,这里面就附带了上述两个拓展的源码。进入lnmp解压后的目录,执行:
./addons.sh install memcached
输出:
+-----------------------------------------------------------------------+ | Addons script for LNMP V1.2, Written by Licess | +-----------------------------------------------------------------------+ | A tool to Install cache,optimizer,accelerator...addons for LNMP | +-----------------------------------------------------------------------+ | For more information please visit http://www.lnmp.org | +-----------------------------------------------------------------------+ Which memcached php extension do you choose: Install php-memcache,(Discuz x) please enter: 1 Install php-memcached, please enter: 2 Enter 1 or 2 (Default 1):
这里选择2即可。
安装wordpress-pecl-memcached-object-cache
WordPress官网上的object-cache.php虽然也号称Memcached 插件,然而它只支持Memcache,不支持新版的,所以不能使用。如果错误地将object-cache.php和Memcached混用的话,则会出现WordPress打不开,前台后台页面一片空白的现象。
跟Memcached配套的WordPress插件在https://github.com/tollmanz/wordpress-pecl-memcached-object-cache,下载后上传到wp-content即可,此时memcached就生效了。
安装batcache插件
batcache可以将整个页面缓存到内存中,下次直接从内存中取出html,完全不需要计算,所以速度非常快。下载解压后其实只有advanced-cache.php是有用的,而batcache.php是一个提供情况缓存的GUI入口,并无大用。
其中advanced-cache.php有一些自定义的选项可供配置:
var $max_age = 3600; // Expire batcache items aged this many seconds (zero to disable batcache) var $remote = 0; // Zero disables sending buffers to remote datacenters (req/sec is never sent) var $times = 2; // Only batcache a page after it is accessed this many times... (two or more) var $seconds = 0; // ...in this many seconds (zero to ignore this and use batcache immediately)
max_age代表缓存寿命(以秒为单位),times表示访问多少次才创建缓存(2是最小值),seconds表示在多少秒之后才创建缓存(0表示立即)。
之后将advanced-cache.php上传到wp-content即可。
要开启缓存的话,还需要编辑wp-config.php:
define('WP_CACHE', true);
当然,只有游客才能享受到加速。
查看Memcached命中率
有时候我们想看看Memcached的加速效果,这时候可以利用官网上的一个工具:http://pecl.php.net/get/memcache-3.0.8.tgz
解压后提取memcache.php上传到服务器,访问后即可看到缓存效果:
还有你的网页发表评论的速度好快啊,基本是秒发
目前完全看不懂这些东西