- Published on
在 Wordpress 上使用 Redis 缓存
- Authors
- 作者
- 老麦
上文我们使用 Docker 搭建 Wordpress 并成功运行了起来,当时选择构建自定义镜像的目的就是要在 Wordpress 上使用 Redis 缓存。至于 Redis 是什么?为什么要在 Wordpress 上使用 Redis?我想既然能点开这篇文章的你心里也有了个大概的概念,在此不过多叙述了。
前提检查
在开始配置之前我们先检查一下安装的 Redis 是否正常的运行,详细的安装过程请查阅 「使用 Docker 来部署 Wordpress」;
# 查看正在运行的容器
docker ps -a
# 进入redis容器内部
docker exec -it 容器NAME/容器ID /bin/bash
# 检查redis
redis-cli
127.0.0.1:6379>
当返回的结果是 127.0.0.1:6379>
时就证明运行正常,如果要退出来输入 quit
即可。
安装插件
Wordpress 之所以强大就是因为它有一整套完整且强大的生态,尤其是在主题与插件这两个方面,真的可以叫嚣道:“还有谁?”
为了能够直观的在 Wordpress 上查看 Redis 的相关情况,我们需要安装两个插件。
Query Monitor
安装并启用后 Wordpress 的顶部菜单就会出现一个选项,如图所示;
点击展开后底部会弹出一个面板,点击 Overview 查看概述;
这里可以看到站点加载了 22 条数据并给出了所需时间(本地测试环境,因此速度相对较快。),我们重点关注红色警告那一行,这里提示:“PHP 的 Redis 对象缓存扩展已安装,但未被 WordPress 使用。您应该安装一个 Redis 插件。”
Redis Object Cache
安装并启用后,我们可以在设置 ☞ Redis 查看状态;
这里出错了,连启用的按钮都是灰色且不能操作的。报错的原因是因为我们之前给 Redis 加了密码,回忆并查看 Redis 容器启动命令;
这时我们可以修改 wp-config.php
这个文件来定义 Redis 连接;
在require_once ABSPATH . 'wp-settings.php';这一行前面添加以下代码:
define('WP_REDIS_SCHEME', 'tcp');
define('WP_REDIS_HOST', 'redis');
define('WP_REDIS_PORT', '6379');
define('WP_REDIS_PASSWORD', 'redis密码');
define('WP_REDIS_DATABASE', '0');
修改完成后回到 Wordpress 后台可以看 Redis 插件已经连接成功,启动按钮也变成可按状态。点击按钮启用插件即可;
检验成果
这时我们打开自己的 Wordpress 站点,随便点击几个站内的链接,让 Redis 缓存运行起来。然后展开 Query Monitor 查看,这时我们发现数据读取变成 None,Object Cache 也正常运行了。证明缓存已经生效了。
Another Redis Desktop Manager(广告)
这里推荐一个管理 Redis 的桌面工具,该项目在 Github 上已斩获 26K Star,进入官方仓库 查阅相关详情。
连接之后就可以查到已经缓存的数据了;
结语
此至,我们就顺利地在 Wordpress 上使用 Redis 来做数据缓存了,至于更加高阶的用法不在此进行讨论。
redis 官网吐槽:别再拿 redis 做乱七八糟的事了,redis 为缓存而生。
最后,Redis 只是缓存了数据库的查询和对象。至于 Wordpress 页面上的缓存选择会相对多一点,后续也会更新来推荐一下我习惯使用的一些页面缓存的插件。