使用 Memcached 内存缓存来实现 WordPress 站点秒开

温馨提示:本文最后更新于2025-03-25 11:07:19,某些文章具有时效性,若有错误或已失效,请在文末评论区留言

Memcached 是一种高性能的分布式内存对象缓存系统,专为加速动态应用设计。通过将数据库查询结果缓存到内存中,Memcached 可以减少数据库的访问次数,降低数据库负载,从而显著提高动态 Web 应用的速度和可扩展性。

Memcached 可以存储来自调用数据库和 API,或者页面渲染生成的任意类型的数据(字符串,对象)到内存中,也可以直接到内存中去读取,它的 API 支持目前大部分流行的编程语言。

Memcached 官网: http://memcached.org

最初 Danga Interactive 为提升 LiveJournal.com 的速度而研发了 Memcached,目前,最终实现了每天已经在向一百万用户提供多达两千万次的页面访问,而这些,是由一个由 Web 服务器和数据库服务器组成的集群完成的。

Memcached的PHP扩展

PHP 有两个 Memcached 扩展:Memcache 和 Memcached,这是我们容易搞混的一个地方。

图片[1]-使用 Memcached 内存缓存来实现 WordPress 站点秒开-十一张

Memcache 扩展是用 PHP 实现的,支持面向对象和面向过程两种接口,2004年就实现了,是老的扩展,而且功能少,属性也可设置的少。

而 Memcached 扩展是基于 libmemcached 开发的,使用 libmemcached 库提供的 API 与 Memcached 服务进行交互,2009年实现,Memcached 扩展功能更加完善,支持的函数更多,比如支持批量操作,现在一般建议使用 Memcached 扩展。

Memcached可以极大提升效率

Memcached 与 WordPress 结合能极大提升效率,因为它支持 WordPress 的对象缓存(Object Cache),将数据写入内存,下次访问直接读取,相比从数据库或文件读取,速度优势明显。

因为 WordPress 的缓存机制是对象缓存(Object Cache),它是把从数据库取到数据作为对象放到缓存中,默认情况下是储存在当前 PHP 运行线程中,这样只是解决了在同线程下不再重复相同的从数据库获取数据,但是下次同样的请求,数据库的请求还是会再次请求。所以在 WordPress 实现 Memcached,其真正的意思是使用内存而非线程来充当 WordPress 对象缓存的存储介质,这样下次访问的时候就直接从内存中读取,不再从数据库获取数据,这样相比就有很大的速度优势,WordPress网站速度自然快很多,可以毫秒级打开页面。

图片[2]-使用 Memcached 内存缓存来实现 WordPress 站点秒开-十一张

上图是十一张网站(www.11zhang.com)使用 Memcached 之后的缓存对象的命中率,可以看出命中率是非常高的,高达99.82%,基本上可以保证所有数据都是从内存中取,所以使用 Memcached 进行缓存是非常有效的。

WordPress如何启用Memcached

首先需要明确一点,必须同时安装 Memcached 服务端和其 PHP 扩展,如果安装了 Memcached 服务端不安装扩展,那么 PHP 无法操控 Memcached。同样如果安装了 PHP Memcached 扩展,但是没有安装 Memcached 服务端,那么这个也无法使用。

下面十一张(www.11zhang.com)以宝塔环境安装 Memcached 为例,进行详细的图文教程。

1、宝塔安装Memcached程序

进入宝塔的软件商店,搜索 Memcached 软件进行安装,如下图,安装完成之后无需做任何设置。

图片[3]-使用 Memcached 内存缓存来实现 WordPress 站点秒开-十一张

2、安装PHP的Memcached扩展

选择当前网站使用的PHP程序,打开 [设置],如下图;

图片[4]-使用 Memcached 内存缓存来实现 WordPress 站点秒开-十一张

进入 [安装扩展] 找到 Memcached 拓展并安装,如下图;

图片[5]-使用 Memcached 内存缓存来实现 WordPress 站点秒开-十一张
图片[6]-使用 Memcached 内存缓存来实现 WordPress 站点秒开-十一张
图片[7]-使用 Memcached 内存缓存来实现 WordPress 站点秒开-十一张

3、安装WPJAM Basic插件

WPJAM Basic插件下载地址:https://www.11zhang.com/1508.html

由于 WPJAM Basic 插件已经集成了 Memcached 的功能,下载 WPJAM Basic 之后,只需将 wpjam-basic/template/ 目录下的 object-cache.php 文件复制到 wp-content 目录下即可,如下图。

图片[8]-使用 Memcached 内存缓存来实现 WordPress 站点秒开-十一张
图片[9]-使用 Memcached 内存缓存来实现 WordPress 站点秒开-十一张

WordPress 会自动检查在 wp-content 目录下是否有 object-cache.php 文件,如果有,直接调用它作为 WordPress 对象缓存机制。

WPJAM Basic 插件安装成功之后,WPJAM Basic 会自动在 WPJAM 插件菜单下的的「系统信息」下看到 Memcached 的信息,如下图,这个也可以判断你的 WordPress 网站是否已经正确安装 Memcached。

图片[10]-使用 Memcached 内存缓存来实现 WordPress 站点秒开-十一张
© 版权声明
THE END
如果觉得这篇文章对您有帮助,可以收藏本网址,方便下次访问!
点赞18 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容