WordPress 性能优化:使用 Redis 让 MySQL 性能提升

你是否正在寻找加快 WordPress 网站速度的方法? 每个网站所有者都希望提高网站的性能,而最好的方法之一就是使用 Redis 缓存。

什么是Redis

Redis 是一款基于内存实现的键值型 NoSQL 数据库,通常称为数据结构服务器,是一个非常快速的内存数据库,可以操作高级数据类型。

Redis 是一个开源的键值存储,既可以作为内存存储也可以作为缓存运行,也可以与 MySQL 等关系数据库配对以加快速度。

Redis缓存与传统缓存

对于 WordPress 建站,使用 Redis 主要用途是缓存,因它是迄今为止平台上最快的缓存解决方案。

1、传统缓存

缓存的主要目的是帮助更快地加载页面。 这是通过储存经常访问的数据来完成的。

当访客访问网站时,访问者的设备必须连接数据库并请求加载页面所需的信息,这意味着向数据库发出请求以获取此类信息。 访问者越多,查询就越多,随着流量的增加,访客需要等待接收他们的内容,这就是为什么网站在出现高流量变得非常缓慢或停止工作的原因。

缓存通过储存大多数访问者将访问的数据来解决,但是,缓存仍然会向数据库发送查询,它仍然可以减慢速度。

2、Redis缓

Redis 是一个内存数据库,它使用的数据存储在服务器的 RAM 中,这完全消除了对数据库的查询,显著加快了站点速度,使用 Redis 进行缓存的网站的加载速度将提高 10% ~ 30%。

WordPress网站使用Redis缓存

PHP在执行函数时,最消耗时间的就是查询SQL数据库,一般来讲一个页面的数据库查询大概在120到260次左右,使用 Redis 缓存,原理就是将PHP查询过的数据库缓存下来,下一次相同内容就不再查询数据库,直接从缓存获取,极大的提高PHP执行效率。WordPress 官方采用 Object Cache 对象缓存,配合 Redis 缓存,能将数据库查询降低80%,有效的提高渲染速度!

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

教程一共分为三步:

1、安装PHP的 Redis 扩展
2、宝塔安装 Redis 程序
3、WordPress安装 Redis 缓存插件并开启

1、安装PHP的 Redis 扩展

进入宝塔,选择当前网站使用的PHP程序,打开 [设置],如下图。

图片[1]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张

进入 [安装扩展] 找到 Redis 并安装,如下图。

图片[2]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张

等待安装完成之后,重启一下PHP服务,如下图。

图片[3]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张

2、宝塔安装 Redis 程序

进入宝塔的软件商店,搜索 Redis 进行安装,如下图。

图片[4]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张

重点说明:Redis 的原理就是把数据存在内存中,来加速调用,所以比较消耗内存。一般一个网站大概最多会用到1.5G内存。所以如果你的服务器内存不太大(低于8G),一定要配置 Redis 的内存使用限制,其他的无需做任何设置。

图片[5]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张

3、安装 Redis 缓存插件

最后一步就是在 WordPress 安装 Redis 缓存插件了,支持 Redis 缓存的插件有很多(如:WPOPT、Redis Object Cache 等)。站长这里以 Redis Object Cache 插件为例进行安装,直接在插件中心搜索 Redis Object Cache 安装即可,如下图。

图片[6]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张

启用 Redis Object Cache 插件,如下图。

图片[7]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张

启用对象缓存,如下图。

图片[8]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张

之后,您可以在必要时使用单个按钮刷新缓存,并且可以使用分析工具来监控插件的运行情况。

图片[9]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张

4、安装PHP的 Opcache 拓展

根据PHP的执行逻辑,每一个PHP函数在执行任务的时候,PHP会先把此函数进行编译解析。Opcache 是PHP官方公司开发的一款PHP优化加速扩展,它的原理把PHP函数编译解析后的内容进行缓存,从而提高PHP的执行速度!根据测试,能有效的提高2-5倍左右的执行效率。

安装 Opcache 拓展非常简单,进入 [安装扩展] 找到 Opcache 并安装,然后重启PHP服务即可,如下图。

图片[10]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张

用宝塔安装 Opcache 之后会自动配置好扩展参数,如需适当修改,可以打开配置文件,搜索 Opcache 即可看到相应的参数,如下图。

图片[11]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张
Opcache 参数说明
opcache.enable=1 (default "1")
;OPcache打开/关闭开关

opcache.memory_consumption=128 (default "64")
;OPcache共享内存存储大小。用于存储预编译的opcode(以MB为单位)。

opcache.interned_strings_buffer=8 (default "4")
;OPcache字符串驻留大小,(以MB为单位)

opcache.max_accelerated_files=80000 (default "2000")
;OPcache控制内存中最多可以缓存多少个PHP文件,建议设置大一点,大于你的项目中的所有PHP文件的总和

opcache.revalidate_freq=3 (default "2")
;OPcache设置缓存的过期时间(单位是秒);几秒内内容不会刷新,如果需要实时更新可以设置为 0

opcache.fast_shutdown=1(default  “0”)
;OPcache更快速清理内存的机制,实际效果视环境而异

查看效果

缓存安装好了之后,怎么查看效果呢?使用火狐浏览器或者 Chrome 浏览器按 F12 进入浏览器【控制台(Console)】就能查看,然后对比一下未开缓存和开启缓存的实际效果,如下图。

图片[12]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张

当然!你也可以使用具有高级缓存监控功能的 WPOPT 免费插件来代替 Redis Object Cache 插件,可以实时查看缓存的运行状态,每 5 秒自动刷新一次,如下图。

图片[13]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张

温馨提示

如果您的服务器有多个网站,并且又要使用 Redis 缓存,那么,一定要为网站设置不同的数据库前缀,不然数据会乱窜!

方法一:首次建站的时候,不同网站设置不同的数据库前缀

图片[14]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张

方法二:在网站根目录找到 wp-config.php 文件,打开后在正文中添加 WP_REDIS_PREFIX 参数

//自定义当前网站的Redis数据前缀,不同网站不能相同,只能为小写字母加下划线
define( 'WP_REDIS_PREFIX', 'www_11zhang' );
图片[15]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张

PS:启用了 Redis Object Cache 插件之后,如果中途服务器 Redis 意外关闭了(例如内存超限,CPU超负荷等),那么默认会直接显示错误,且无法正常访问网站,我们可以通过在 wp-config.php 文件中添加 WP_REDIS_GRACEFUL 参数来关闭错误显示,这样即使 Redis 崩了,也不影响网站正常访问,只是没有缓存罢了。处理方法:只需在网站根目录找到 wp-config.php 文件添加 WP_REDIS_GRACEFUL 参数即可。

//关闭Redis的debug显示
define( 'WP_REDIS_GRACEFUL', true);
图片[16]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张

Redis 缓存的特性就是将数据保存到内存中已达到加速的效果,所以比较消耗内存,大概10万数据量消耗2G,仅供参考,所以一定要配置好 Redis 内存限制。

关于 PHP 版本,若使用了 Zibll 子比主题 v8.2 以下版本,推荐用 PHP 7.2,若使用了 Zibll 子比主题 v8.2 及以上版本,推荐用 PHP 8.3及以上。经 Zibll 子比主题作者老糖测试(华为云S6 2H4G5M服务器),Zibll 子比主题更新 v8.2 后,配合PHP v8.4,页面生成耗时可以轻松降到100毫秒内!

图片[17]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张

Zibll 子比主题作者老糖强烈推荐的性能最佳组合为:PHP 8.4+、MySQL 8.0+、NGINX 1.25+、WordPress 6.8+、Zibll 8.2+

关闭缓存功能

如果哪天你不想使用 Redis 缓存了,可以从宝塔的软件商店里直接卸载 Redis 程序即可,另外还要将网站 /wp-content/ 目录下的 object-cache.php 文件删除,否则打开网页会报错。

图片[18]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张
图片[19]-WordPress 性能优化:使用 Redis 让 MySQL 性能提升-十一张
© 版权声明
THE END
如果觉得这篇文章对您有帮助,可以收藏本网址,方便下次访问!
点赞2 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容