缙哥哥的博客
与你分享我的点点滴滴生活

使用Batcache将Memcached多个缓存对象以页为单位整合加速

280G全国流量的电信星海卡仅需29元/月,长期可续该套餐,随时可注销

之前缙哥哥给大家分享了《宝塔下运行Memcached加速WordPress,附插件配置方法》,并做了《Redis和Memcached哪个比较好》的分析,而最终选择了Memcached,这是因为WordPress还有款缓存神器插件——Batcache,这个插件也是 WordPress.com 官方使用的加速插件之一。

之前缙哥哥已经讲过,WordPress 启用 Memcached 这样的内存缓存之后,每次访问 WordPress 页面,以此来提速,缙哥哥初步估计速度上至少提升了5-10倍以上。但是每次访问都要从内存中获取多个缓存对象。而今天分享的缓存插件 Batcache 主要就是解决这个问题,它是基于 Memcached 的 WordPress 缓存插件,它的工作原理是:把当前整个页面作为一个对象缓存到内存中,这样再次访问 WordPress 页面的时候,直接获从内存中获取这个对象即可,速度极快。

Batcache使用教程

首先得自己确认下已经安装并正确开启了Memcached内存缓存。

解压得到advanced-cache.php文件,上传至/wp-content/目录。

在 wp-config.php 中的/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */上方添加以下代码:

//开启Batcache默认缓存 - https://www.dujin.org/13243.html
define('WP_CACHE', true);

进入 WordPress 仪表盘 → 已安装插件 → Drop-in高级插件,查看advanced-cache.php右侧图像描述是否为高级缓存插件。如果不是,请根据提示操作。详情请看下图:

成功后可使用无痕窗口多次刷新某个页面进行测试。查看源代码,应该在/html之后可以看到一些 Batcache 状态代码,记得退出登陆查看。

Batcache参数注释

以下翻译由缙哥哥那蹩脚的英语水平注释,错了不负责。小伙伴们可根据自己的需求进行更改,主要是修改前面4行参数。

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的名称——如果它们存在并且缓存通常会被绕过,那么不要绕过它。

Batcache使用拓展

当有两个或者以上WordPress的时候,要么数据库前缀不同,要么请参考《同一服务器多个WordPress站点使用Memcached冲突的解决办法》。

赞(10) 打赏
转载请注明来源及链接:缙哥哥 » 使用Batcache将Memcached多个缓存对象以页为单位整合加速
如需 WordPress 优化加速、二次开发、托管等服务,可联系我购买付费服务:点此联系我 | 近期站内热门福利:

评论 12

评论前必须登录!

 

  1. #6

    求教 advanced-cache.php 高级缓存插件。同站点两个博客,一个启用了,另一个没办法启用,怎么解决?启用的删掉另一个也没办法启用

    吃瓜网4年前 (2020-02-19)
  2. #5

    步骤都是对的 但是就是不能启动,
    高级缓存插件。 未启用:

    吃瓜网4年前 (2020-02-19)
  3. #4

    为什么我添加definexxxxx之后还是显示未启用?

    吃瓜网4年前 (2020-02-19)
  4. #3

    这款是配合Memcached使用的?我有点看不懂

    吃瓜网4年前 (2020-02-19)
  5. #2

    为什么上传advanced-cache.php提示下面错误呢?Fatal error: Uncaught Error: Call to undefined function wp_cache_init() in E:\www\
    \wp-content\advanced-cache.php on line 360这样的错误

    xingseren4年前 (2019-12-26)
  6. #1

    可以,试试

    sansway5年前 (2019-05-03)

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册