wking's blog

  • 文章分类
    • 日常随笔
    • IT技术
    • 系统封装
    • 大航海时代
  • 关于博主
GOD'S IN HIS HEAVEN, ALL'S RIGHT WITH THE WORLD.
  1. 首页
  2. IT技术
  3. 正文

给WordPress正确安装Memcached的教程

2024-03-17 553点热度 1人点赞 2条评论

网上看了好几篇文章,都过时了,尝试以后无法正确在WordPress使用Memcached。这里记录一下2024年该如何正确安装(宝塔)Memcached给WordPress使用。

基本概念

虽然安装的是Memcached,但其实Memcached有好几个概念,其他文章都没有讲清楚,本文先叙述清楚有关Memcached的概念,这样才好理解安装的所有东西到底是什么,为什么安装。

Memcache PHP扩展

首先Memcached和Memcache是两个东西。

Memcache(官网http://pecl.php.net/package/memcache)是PHP的一个扩展包(package),在PHP层面把页面缓存到内存实现网页加速。已经不再维护和更新了,所以不需要了解更多。如果网页说的是Memcache那文章已经过时了不用看了。

Memcached 软件

Memcached (官网https://github.com/memcached/memcached)是一个高性能多线程、基于事件的键/值缓存存储,旨在用于分布式系统。

是在服务器软件层面把数据缓存到内存实现加速。很明显可以比Memcache性能高非常多。

Memcached PHP扩展

同Memcache一样,也是PHP的一个扩展包,名字也叫Memcached(官网http://pecl.php.net/package/memcached)。作用是通过 libmemcached 库与 memcached 软件连接。

不过这个扩展和Memcache扩展不一样,通俗理解这就是一个可以让PHP代码通过此扩展连接到Memcached 软件的桥梁,自己本身不提供缓存加速功能。

安装Memcached软件

分清楚了概念,才知道该安装哪些软件。

宝塔安装

通过宝塔安装Memcached很简单,在宝塔软件商店 - 运行环境里找Memcached,直接安装就行。

手动安装

手动安装没试过,官网介绍只需要输入命令:

1
2
apt install memcached  # debian系
yum install memcached # redhat系

安装Memcached PHP扩展

宝塔安装

宝塔面板 - 软件商店 - PHP行点设置,“安装扩展”里找到Memcached并安装。

手动安装

没试过,大概流程就是下载PHP扩展,复制到PHP目录,php.ini里开启扩展。

WordPress安装Memcached插件

安装好Memcached软件和Memcached PHP扩展后,最后一步是安装WordPress Memcached插件。

WordPress Memcached插件又有好几个,博主都试了一下,有的已经不能用了。比如:

Memcached Object Cache插件(https://wordpress.org/plugins/memcached/):装上以后WordPress直接致命性错误。因为这插件还需要Memcache。

安装Object Cache 4 everyone插件

WordPress商店里搜索安装。

这个插件的功能类似于Memcached Object Cache,给WordPress添加Memcached对象缓存支持。修改版可以自动检测 PECL Memecache 或 PECL Memcached(首选 Memcached)类并使用适当的接口。

安装batcache插件

下载地址:https://github.com/Automattic/batcache

下载后解压缩,只需要上传advanced-cache.php文件到/wp-content目录即可,无需安装插件。

这个插件的功能是将WordPress页面内容提交给memcached-is-your-friend修改版插件,然后就可以生成内存缓存了。

修改wp-config.php,插入行define('WP_CACHE', true);

安装完成。

检查是否安装成功

以访客打开博客,查看页面源代码,源代码最下面如果有类似served from batcache如图注释则成功。

查看Memcached统计

WordPress里查看

WordPress后台 - 工具 - Memcached里,可以查看统计数据。

1
2
3
4
5
6
7
STAT cmd_get 16522                  总共获取数据的次数(等于 get_hits + get_misses )
STAT cmd_set 1484                     总共设置数据的次数
STAT get_hits 15038                 命中数据次数(从 Memcached 缓存中成功获取数据的次数)
STAT get_misses 1484                 没有命中的次数
STAT limit_maxbytes 67108864              总的存储大小,默认为 64M
STAT bytes 524288                               当前所用存储大小
以上数据命中次数:15038/16522=91.0% 因为刚开启,命中率在慢慢提升。

宝塔面板里查看

软件商店 - Memcached - 设置里,负载状态可以查看统计数据。

修改Memcached缓存时间

advanced-cache.php有一些自定义的选项可供配置:

1
2
3
4
var $max_age =3600; // 缓存过期时间(以秒为单位)
var $remote = 0; // Zero disables sending buffers to remote datacenters (req/sec is never sent)
var $times = 2; // 访问多少次才创建缓存(2是最小值)
var $seconds = 0; // 多少秒之后才创建缓存(0表示立即)

Memcached配合WP super cache插件

WordPress使用Memcached的比较好的方案是用Batcache插件来实现,然而那些网上Memcached与WP Super Cache共用的教材早已经过时,至少目前WP Super Cache早就不支持Memcached的了,你可能一直才在错用。

官方不推荐

Q:

Hello!
wp-super-cache is the best cache plugin.
Do U plan to add memcached support to store cached pages in memcached?
I think it's nice feature to speed up website additionally.

A:

The plugin used to have very rudimentary support for using wp-cache-get/set, or memcached to store cached content but it was very very rough and never worked on. It was removed recently and nobody noticed.

Batcache is a much better choice if you want to use a memcached full page cache.

这是来自WP Super Cache官方的回答:https://github.com/Automattic/wp-super-cache/issues/706,还有一篇:https://wordpress.org/support/topic/wp-super-cache-and-memory-caching/

按照官方的说法:WP Super Cache以前支持,但是由于一直没有正常工作过,于是很早就删除了这个功能。所以推荐Batcache来做object cache。

参考文章

《宝塔面板安装memcached并在WP使用batcache》

《Memcached与WP Super Cache共用,可能你一直才在错用》

《WP Super Cache 和 W3 Total Cache 缓存插件使用 Memcached 提升性能》

本作品采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可
标签: wordpress
最后更新:2024-03-17

wking

不管博客型博主

点赞
< 上一篇
下一篇 >

文章评论

  • Lvtu

    可以试试这个插件:MemcacheD Is Your Friend。。。

    2024-05-13
    回复
    • wking

      @Lvtu MemcacheD Is Your Friend这个插件我也试了,配合W3 Total Cache插件很好用。我装的WP Super Cache插件好像不兼容MemcacheD Is Your Friend插件,所以选的batcache插件。batcache插件和MemcacheD Is Your Friend插件功能都差不多,都是搭建给PHP和memcached软件搭建数据桥梁。

      2024-05-13
      回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    取消回复

    目录
    • 基本概念
      • Memcache PHP扩展
      • Memcached 软件
      • Memcached PHP扩展
    • 安装Memcached软件
      • 宝塔安装
      • 手动安装
    • 安装Memcached PHP扩展
      • 宝塔安装
      • 手动安装
    • WordPress安装Memcached插件
      • 安装Object Cache 4 everyone插件
      • 安装batcache插件
    • 检查是否安装成功
    • 查看Memcached统计
      • WordPress里查看
      • 宝塔面板里查看
    • 修改Memcached缓存时间
    • Memcached配合WP super cache插件
      • 官方不推荐
    • 参考文章
    标签聚合
    大航海时代 wordpress 一支红杏 C++ win10 linux R6300V2 OneNote

    COPYRIGHT © 2024 wkings.blog. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang