WordPress Redis缓存教程(二)
Object Cache Pro配置教程:WP_REDIS_CONFIG参数详解与宝塔实战方案
上一篇我们已经完成了 Object Cache Pro 安装与启用,这一篇继续讲 wp-config.php 里的 WP_REDIS_CONFIG 应该怎么配置,哪些参数必须改,哪些参数新手不要乱动。
- 第一篇:Object Cache Pro安装与启用教程
- 第二篇:Object Cache Pro配置教程:WP_REDIS_CONFIG参数详解
- 第三篇:Object Cache Pro性能优化与故障排查
Connected,建议先看第一篇《Object Cache Pro安装与启用教程》,先把插件安装和 Redis 连接跑通。
一、WP_REDIS_CONFIG 是什么?
WP_REDIS_CONFIG 是 Object Cache Pro 用来读取 Redis 配置的核心参数。它一般写在 WordPress 根目录的 wp-config.php 文件里。
简单理解,它的作用就是告诉 Object Cache Pro:
- Redis 服务器在哪里;
- Redis 用哪个端口;
- 使用哪个 database;
- 缓存最长保留多久;
- 是否启用预取、严格模式等优化功能。
wp-config.php 里完成的。

二、新手推荐配置:90%的站点直接用这一套
如果你是单个 WordPress 网站,服务器是宝塔面板,Redis 安装在本机,没有特殊集群环境,那么可以先用下面这套配置。
打开网站根目录下的 wp-config.php,把代码放到下面这行之前:
/* That's all, stop editing! Happy publishing. */
如果你的 wp-config.php 是中文提示,就放到“停止编辑”那一行之前。
your-license-token 要替换成:e279430effe043b8c17d3f3c751c4c0846bc70c97f0eaaea766b4079001c。
define('WP_REDIS_CONFIG', [
'token' => 'your-license-token',
'host' => '127.0.0.1',
'port' => 6379,
'database' => 0,
'maxttl' => 3600 * 24 * 7,
'timeout' => 1.0,
'read_timeout' => 1.0,
'prefetch' => true,
'split_alloptions' => true,
'strict' => true,
'debug' => false,
]);
define('WP_REDIS_DISABLED', false);</code></pre>
这套配置的特点是:简单、稳定、不激进。对于大多数内容站、博客站、Zibll 主题站点来说,先用这套即可。

三、WP_REDIS_CONFIG 参数详解
下面这张表只讲新手真正需要理解的参数,不讲太偏门的集群、TLS、Relay 等复杂配置。
| 参数 | 推荐值 | 是否必须修改 | 说明 |
|---|---|---|---|
token |
你的授权 token | 必须 | Object Cache Pro 授权信息,必须换成自己的。 |
host |
127.0.0.1 | 一般不用 | Redis 安装在本机时使用 127.0.0.1。 |
port |
6379 | 一般不用 | Redis 默认端口通常是 6379。 |
database |
0 | 多站点要改 | 单站点用 0,多站点建议每个站点使用不同编号。 |
password |
Redis 密码 | 有密码才填 | 如果 Redis 设置了密码,必须添加这个参数。 |
maxttl |
7天 | 建议保留 | 限制缓存最大保留时间,避免 Redis 长期堆积旧缓存。 |
prefetch |
true | 建议开启 | 缓存预取,有助于提升对象缓存效率。 |
split_alloptions |
true | 建议开启 | 优化 WordPress autoload options 的缓存方式。 |
strict |
true | 建议开启 | 更严格地处理缓存行为,适合生产环境。 |
debug |
false | 不要开启 | 调试用,正式网站建议关闭。 |
四、Redis 设置了密码怎么写?
如果你的 Redis 设置了密码,需要在配置中添加 password 参数。
define('WP_REDIS_CONFIG', [
'token' => 'your-license-token',
'host' => '127.0.0.1',
'port' => 6379,
'password' => '你的Redis密码',
'database' => 0,
'maxttl' => 3600 * 24 * 7,
'timeout' => 1.0,
'read_timeout' => 1.0,
'prefetch' => true,
'split_alloptions' => true,
'strict' => true,
'debug' => false,
]);
define('WP_REDIS_DISABLED', false);

五、多个 WordPress 网站共用 Redis 怎么配置?
如果一台服务器上只有一个 WordPress 站点,database 用 0 就可以。
但如果一台服务器上有多个 WordPress 站点,建议每个站点使用不同的 Redis database,避免缓存互相影响。
| 站点 | 推荐 database | 说明 |
|---|---|---|
| 站点A | 0 |
主站使用 |
| 站点B | 1 |
第二个 WordPress 站点 |
| 站点C | 2 |
第三个 WordPress 站点 |
例如第二个站点可以这样写:
define('WP_REDIS_CONFIG', [
'token' => 'your-license-token',
'host' => '127.0.0.1',
'port' => 6379,
'database' => 1,
'maxttl' => 3600 * 24 * 7,
'timeout' => 1.0,
'read_timeout' => 1.0,
'prefetch' => true,
'split_alloptions' => true,
'strict' => true,
'debug' => false,
]);
define('WP_REDIS_DISABLED', false);
database 隔离,而不是只依赖 prefix。这样更直观,也更不容易串缓存。

六、prefix 有必要设置吗?
prefix 是缓存键名前缀,用来区分不同站点的缓存 key。
如果你只有一个 WordPress 站点,不需要设置 prefix。
如果你有多个站点,并且因为某些原因必须共用同一个 Redis database,可以加上 prefix。
define('WP_REDIS_CONFIG', [
'token' => 'your-license-token',
'host' => '127.0.0.1',
'port' => 6379,
'database' => 0,
'prefix' => 'ffwl_',
'maxttl' => 3600 * 24 * 7,
'prefetch' => true,
'split_alloptions' => true,
'strict' => true,
'debug' => false,
]);
define('WP_REDIS_DISABLED', false);</code></pre>
七、这些高级参数新手不要乱开
很多教程会直接推荐开启 serializer、compression、igbinary、zstd。这些确实能降低 Redis 内存占用,但前提是服务器扩展支持。
如果 PHP Redis 扩展没有编译对应支持,轻则 Object Cache Pro 报错,重则网站白屏或 500。
| 参数 | 作用 | 新手建议 |
|---|---|---|
serializer |
序列化缓存数据 | 先不要开 |
compression |
压缩缓存数据 | 先不要开 |
cluster |
Redis 集群配置 | 普通宝塔服务器不用 |
replication |
Redis 主从复制 | 普通宝塔服务器不用 |
八、不同服务器配置推荐
下面给出三套更贴近宝塔用户的配置。你可以根据自己的服务器配置选择。
1核2G服务器推荐配置
适合小博客、新站、文章数量不多的网站。
define('WP_REDIS_CONFIG', [
'token' => 'your-license-token',
'host' => '127.0.0.1',
'port' => 6379,
'database' => 0,
'maxttl' => 3600 * 24 * 3,
'timeout' => 1.0,
'read_timeout' => 1.0,
'prefetch' => true,
'split_alloptions' => true,
'strict' => true,
'debug' => false,
]);
define('WP_REDIS_DISABLED', false);
2核4G服务器推荐配置
define('WP_REDIS_CONFIG', [
'token' => 'your-license-token',
'host' => '127.0.0.1',
'port' => 6379,
'database' => 0,
'maxttl' => 3600 * 24 * 7,
'timeout' => 1.0,
'read_timeout' => 1.0,
'prefetch' => true,
'split_alloptions' => true,
'strict' => true,
'debug' => false,
]);
define('WP_REDIS_DISABLED', false);
4核8G及以上服务器推荐配置
define('WP_REDIS_CONFIG', [
'token' => 'your-license-token',
'host' => '127.0.0.1',
'port' => 6379,
'database' => 0,
'maxttl' => 3600 * 24 * 7,
'timeout' => 0.5,
'read_timeout' => 0.5,
'prefetch' => true,
'split_alloptions' => true,
'strict' => true,
'debug' => false,
]);
define('WP_REDIS_DISABLED', false);

九、修改配置后如何让它生效?
修改 wp-config.php 后,建议按下面顺序操作:
- 保存
wp-config.php文件; - 进入 WordPress 后台;
- 打开 Object Cache Pro 面板;
- 点击 Flush Cache 清理旧缓存;
- 刷新网站前台几次;
- 回到 Object Cache Pro 查看 Hits、Misses、Hit Rate 是否变化。
maxttl 这类配置只影响新生成的缓存 key。修改后建议清理一次 Redis 缓存,避免旧缓存继续占用内存。
十、如何确认配置已经生效?
不建议新手一上来就用命令行判断,因为宝塔终端常用 root 用户,执行 WP-CLI 时可能出现 YIKES! running this as root 提示。
更推荐下面这几种方式。
方法一:看后台 Connected 状态
进入:
如果显示 Connected,说明 Redis 已经连接成功。

方法二:看 Hit Rate 是否变化
刷新网站前台几次,再回到 Object Cache Pro 后台查看:
- Hits 是否增加;
- Misses 是否变化;
- Hit Rate 是否逐渐提升。
刚安装时命中率低是正常现象,等访问积累后会逐步提升。
方法三:检查 object-cache.php 文件
进入网站目录:
wp-content/object-cache.php
如果这个文件存在,说明 Object Cache Pro 的 Drop-in 文件已经生成。

方法四:命令行检查
如果你想用 WP-CLI 检查,先进入网站根目录:
cd /www/wwwroot/你的域名
宝塔终端如果是 root 用户,执行:
wp redis status --allow-root
如果想用网站用户执行,宝塔常见用户是 www:
sudo -u www wp redis status --path=/www/wwwroot/你的域名
十一、常见问题
Redis database 应该填多少?
单个 WordPress 站点填 0 即可。如果一台服务器有多个 WordPress 站点,建议每个站点使用不同 database,例如站点A用0,站点B用1,站点C用2。
Redis 密码怎么写?
如果 Redis 设置了密码,在 WP_REDIS_CONFIG 中加入 'password' => '你的Redis密码',。注意逗号不要漏,密码不要写错。
prefix 有必要设置吗?
单站点通常不需要设置 prefix。多站点优先使用不同 database 隔离。如果多个站点必须共用同一个 database,再考虑设置 prefix。
maxttl 设置多久合适?
小内存服务器可以设置 3 天,普通 WordPress 站点可以设置 7 天。设置太长可能导致 Redis 堆积较多旧缓存,设置太短则缓存复用率可能下降。
可以开启 serializer 和 compression 吗?
可以,但不建议新手在第二步就开启。因为这要求 PHP Redis 扩展支持 igbinary、lzf、lz4 或 zstd。服务器不支持时,可能会导致网站报错。建议基础配置稳定后,再单独优化。
Object Cache Pro 配置后网站变慢怎么办?
先把 WP_REDIS_DISABLED 改成 true 临时关闭对象缓存,然后刷新网站观察是否恢复。如果恢复,说明 Redis 配置或服务器资源存在问题,需要检查 Redis 内存、PHP Redis 扩展和配置参数。
Redis 对象缓存和页面缓存会冲突吗?
一般不会。Redis 对象缓存主要缓存数据库查询和 WordPress 对象数据,页面缓存主要缓存 HTML 页面。两者缓存层级不同,通常可以同时使用。
总结
Object Cache Pro 的配置重点不是参数越多越好,而是先保证稳定。
对于大多数宝塔 WordPress 网站,推荐先使用基础稳定配置:
host使用127.0.0.1;port使用6379;- 单站点
database使用0; - 多站点使用不同
database; maxttl设置 3 到 7 天;- 新手暂时不要开启
serializer和compression。
下一篇我们再继续讲 Object Cache Pro 的性能优化与故障排查,包括命中率低、Redis 内存占用高、网站变慢、WooCommerce 会话缓存等问题。





暂无评论内容