拾点灵犀
wordpress内存缓存加速Memcached和Batcache

主机安装Memcached,可以将wordpress对象缓存到内存,以减少数据库查询,提高访问速度。Batcache插件呢,可以将整个页面作为对象缓存到内存,以加速访问速度。

当然,它只是缓存静态文件,也就是对游客有效,不对登陆状态或者已评论过的用户进行缓存,但这也足够了,大多数都只是游客访问。

{anote icon=“fa-download” href=“https://wordpress.org/plugins/batcache/" type=“secondary” content=“Batcache下载”/}

  1. 首先主机得先安装Memcached扩展,建议使用BT来进行管理环境,这样安装扩展非常方便。这里要注意下,object-cache.php一定要使用原文件,任何修改,都有可能导致Batcache无法生效,出现500错误。

  2. 下载Batcache,解压出来,上传 advanced-cache.php 到 /wp-content/ 目录。

  3. 在 wp-config.php 添加以下代码激活 Batcache: define('WP_CACHE', true);

  4. 然后尝试多次载入页面查看源代码,应该在 之前可以看到一些 Batcache 状态代码。(未登录状态)

  5. 可以修改 advanced-cache.php 开始的一些代码来调整选项。

  6. 可选的上传 batcache.php 到你的 /wp-content/plugins/ 目录。

安装成功后,访问网页,查看源码,在最后,会有如图字样,表示已安装成功,并且生效。

advanced-cache.php里面的设置:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
var $max_age = 300; // 缓存过期时间(0表示禁用batcache)
var $remote = 0; // 禁止向远程数据中心发送缓冲区(从不发送req/sec)
var $times = 2; // 一个页面被访问了多少次之后进行缓存(两个或两个以上)
var $seconds = 0; // …在这么多秒内(0表示忽略它,立即使用batcache)
var $group = 'batcache'; // memcached组的名称。您可以通过更改此选项来模拟缓存刷新。
var $unique = array(); // 如果您有条件地提供不同的内容,请将变量值放在这里。
var $vary = array(); // 函数数组,用于create_function。返回值被添加到上面的$unique中。
var $headers = array(); // 在这里添加头作为name=>值或name=>数组(值)。这些将与缓存中的每个响应一起发送。
var $cache_redirects = false; // 设置true启用重定向缓存。
var $redirect_status = false; // 这将在重定向期间设置为响应代码。
var $redirect_location = false; // 这被设置为重定向位置。
var $use_stale = true; // 更新缓存时是否可以返回过期的缓存响应?
var $uncached_headers = array('transfer-encoding'); // 这些头将永远不会缓存。应用函数。
var $debug = true; // 设置false以隐藏batcache信息 <!-- comment -->
var $cache_control = true; // 将false设置为禁用Last-Modified和Cache-Control头
var $cancel = false; // 更改此选项以取消输出缓冲区。使用batcache_cancel ();
var $noskip_cookies = array( 'wordpress_test_cookie' ); // cookie的名称——如果它们存在并且缓存通常会被绕过,那么不要绕过它。

这里记录一下查看Memcached状态的工具:memcachephp 从这下载: {abtn icon=“fa-external-link-square” color="#ff6800” href=“http://pecl.php.net/get/memcache-2.2.7.tgz" radius=”" content=“Memcachephp”/}

将memcached.php上传到网站上,直接进行域名访问。记得要修改此文件,改用户名和密码,以及连接memcached的IP:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
修改memcache.php文件
define('ADMIN_USERNAME','XXX');// Admin Username
define('ADMIN_PASSWORD','YYY');   // Admin Password
define('DATE_FORMAT','Y/m/d H:i:s');
define('GRAPH_SIZE',200);
define('MAX_ITEM_DUMP',50);

//添加2个memcache
$MEMCACHE_SERVERS[] = '10.86.50.165:6666'; // add more as an array
$MEMCACHE_SERVERS[] = '10.86.50.166:6666'; // add more as an array

这里主要是记录下batcache的安装方法,还有memcached状态的查看工具。

署名 - 非商业性使用 - 禁止演绎 4.0