WordPress对象缓存Redis
WordPress对象缓存Redis是给网站提速最直接的手段之一。
默认情况下,WordPress每次加载页面都会重复查询数据库,而开启Redis对象缓存后,数据库查询结果会被缓存到内存中,后续请求直接读取内存,页面生成速度明显加快。
本文面向零基础用户,从环境准备到效果验证一步步讲清楚,照着做就能完成配置。
先确认你的环境是否适合开启Redis对象缓存
不是所有WordPress都适合直接上Redis。
建议先检查以下几点:
- 服务器已安装Redis服务,并且能正常启动。
- PHP版本建议7.4及以上,已安装Redis扩展(phpredis)。
- WordPress站点可以正常访问后台,有修改文件的权限。
- 如果用的是虚拟主机,通常无法自行安装Redis服务,需要先确认主机商是否提供。
宝塔面板用户可以直接在软件商店搜索Redis进行安装,这是最省事的方式。
安装Redis服务与PHP Redis扩展
如果你使用宝塔面板,操作路径如下:
- 登录宝塔面板,进入软件商店。
- 搜索Redis,点击安装,等待安装完成。
- 搜索PHP Redis扩展(名称通常为Redis或phpredis),根据你当前PHP版本安装。
- 安装完成后,在PHP设置中确认扩展已启用。
如果你使用命令行,可以用以下命令检查Redis是否正常运行:
redis-cli ping
返回PONG说明Redis服务正常。
再检查PHP是否加载了Redis扩展:
php -m | grep redis
输出中包含redis即表示扩展已生效。
安装WordPress对象缓存插件并获取配置文件
WordPress本身不会自动使用Redis,需要借助对象缓存插件。
推荐使用Redis Object Cache插件:
- 进入WordPress后台,插件 → 安装插件。
- 搜索Redis Object Cache,安装并启用。
- 启用后进入设置 → Redis,点击Enable Object Cache。
如果页面提示无法连接Redis,说明wp-config.php中还没有配置Redis连接信息,继续下一步。
修改wp-config.php写入Redis连接参数
宝塔面板用户可以在网站根目录找到wp-config.php文件,用面板自带的编辑器打开,在/* That's all, stop editing!这一行之前加入以下代码:
*/
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_TIMEOUT', 1);
define('WP_REDIS_READ_TIMEOUT', 1);
define('WP_REDIS_DATABASE', 0);
如果Redis设置了密码,还需要增加:
define('WP_REDIS_PASSWORD', '你的Redis密码');
保存文件后,回到WordPress后台的Redis设置页面,点击Enable Object Cache,看到状态变为Connected即表示对象缓存已生效。
避坑指南:这几个地方最容易出错
- Redis服务未启动:先执行
redis-cli ping确认返回PONG,再操作WordPress。 - PHP扩展没装:
php -m | grep redis无输出时,插件会提示连接失败。 - 数据库编号冲突:多个WordPress站点共用同一个Redis时,要设置不同的
WP_REDIS_DATABASE值,避免缓存互相覆盖。 - 修改wp-config.php后未生效:检查代码是否加在正确位置,保存后刷新后台页面。
- 开启后网站白屏:先禁用插件,检查Redis连接参数是否正确,再重新启用。
怎么确认提速效果已经出现
开启对象缓存后,可以通过以下方式验证:
- 在Redis设置页面查看Object Cache状态是否为Connected。
- 使用
redis-cli info keyspace查看是否有缓存键生成。 - 用浏览器开发者工具或测速工具对比开启前后的页面加载时间,通常后台和动态页面响应会更快。
- 登录WordPress后台,观察仪表盘和文章列表的加载速度是否比之前更流畅。
如果效果不明显,先检查缓存命中率,再确认是否有其他插件或主题拖慢速度。
常见疑问
Redis对象缓存和页面缓存有什么区别?
对象缓存缓存的是数据库查询结果,页面缓存缓存的是整个HTML页面。两者可以同时使用,不冲突。
开启后网站反而变慢了怎么办?
先检查Redis是否和网站在同一台服务器,跨服务器连接会增加延迟。另外确认Redis内存是否充足,避免频繁淘汰缓存。
多个WordPress站点能共用一个Redis吗?
可以,但必须为每个站点设置不同的WP_REDIS_DATABASE,否则缓存会互相干扰。
Redis Object Cache插件必须用吗?
不是唯一选择,也有其他对象缓存插件,但Redis Object Cache使用较广、配置简单,适合大多数用户。
按以上步骤操作后,WordPress对象缓存Redis通常能带来可感知的提速效果。
如果遇到连接失败或白屏,优先回看避坑部分,逐项排查Redis服务、PHP扩展和wp-config.php配置。