很多WordPress用户应该都熟悉wp super cache插件,这款工具确实能够有效加速网站的性能。然而,当网站的访问量较大时,从硬盘频繁读取HTML文件可能会导致IO瓶颈,从而影响访问速度。
几年前,我接触到两位外国朋友的项目,他们通过将页面数据存储在Redis数据库中来提升读取速度。经过实施,效果非常显著,页面加载速度有了明显改善。
关于如何利用Redis进行页面缓存的详细步骤以及所需文件,都已整理在文末,有需要的朋友可以下载。
希望你们能点赞支持。
效果
我在自己的网站内页进行了测试,服务器位于香港,并进行了基本的性能优化。以下数据仅为我的测试结果,不能代表所有网站的实际表现,具体效果仍需依赖于个人测试。
未启用Redis缓存的情况下,页面加载时间为:914毫秒

参考文章:WordPress插件开发教程-轻松上手的WordPress插件实战指南
启用Redis缓存后,页面加载时间为:500毫秒

参考文章:wordpress视频播放插件下载-最全面的wordpress视频播放插件获取指南
优化
根据自己网站的需求,我对原有项目进行了改进,主要调整了两个方面:
1. 原程序使用Redis的hash存储页面数据,当文章数量庞大时,单个键值过大影响了性能,因此改为使用string格式储存页面;
2. 原程序没有设置过期时间,导致页面数量增加后内存使用量剧增。经过优化后,每次写入缓存时都会设定过期时间,如果在过期前数据被读取,则刷新过期时间。这样的设置能够使冷数据不占用内存,而热数据始终保持在缓存中。说实话,内存成本非常高……
此外,我对大部分重要注释及一些缺失的地方进行了中文翻译,以便于不太懂PHP的朋友自行修改代码。
缺点
与wp super cache相似,数据缓存后,部分前端功能可能会失效,这时需要利用ajax来进行调用。
在使用过程中,我发现与某位国内开发者的第三方插件存在冲突,导致该插件的某些功能失效。不过,我使用的这个插件相对小众,可能大部分用户不会遇到类似问题,除此之外没有发现其他插件的兼容性问题。
另外,如果文章数量较多,将会消耗大量内存。我的网站在五六千篇文章时,内存使用量接近1G,希望通过设置过期时间,能够帮我节省一些内存开支,内存真的是太贵了……
如何使用
下载predis.php文件:
https://wancard.oss-cn-hangzhou.aliyuncs.com/redis/predis.php
该文件无需修改,直接放置于WordPress根目录即可。
下载index.php文件:
https://wancard.oss-cn-hangzhou.aliyuncs.com/redis/index.php
请备份WordPress根目录下的index.php,然后用下载的index.php替换原文件。
在index.php中需要修改一些内容:
自定义变量设置都有注释,阅读注释后你应该能轻易理解如何修改。
// 设置自定义变量
$cf = 0; // 如果使用cloudflare,请设置为1
$debug = 1; // 开启debug模式
$display_powered_by_redis = 0; // 要在页面底部显示“powered by redis”,请设置为1
$ttl = 604800; // 缓存过期时间,单位:秒
在大约第63行是Redis数据库配置信息,如果你使用的是非本地的Redis数据库,需要进行相应修改:
$redis = new PredisClient( // 设置连接Redis数据库所需的信息
array(
"host" => "127.0.0.1",
"port" => "6379",
"database" => "1"
)
);
其他部分无需更改,完成上述信息修改后,应该就可以直接生效了。建议关闭wp super cache等页面缓存插件,以减少性能开销。
在debug模式下,页面底部会显示提示信息,测试确认无误后可以将$debug设置为0来关闭debug模式。
如果这篇文章对你有所帮助,请务必点赞或在评论区留言,让我知道我辛苦写下的内容没有白费。
同时也欢迎赞赏支持!
爱你,送上我的祝福。
本文标题:提升WordPress速度的有效解决方案分享
网址:https://www.wpjiguang.cn/archives/47363.html
本站所有文章由wordpress极光ai post插件通过chatgpt写作修改后发布,并不代表本站的观点;如果无意间侵犯了你的权益,请联系我们进行删除处理。
如需转载,请务必注明文章来源和链接,谢谢您的支持与鼓励!






