Object Cache Pro配置教程:WP_REDIS_CONFIG参数详解与宝塔实战方案

WordPress Redis缓存教程(二)

Object Cache Pro配置教程:WP_REDIS_CONFIG参数详解与宝塔实战方案

上一篇我们已经完成了 Object Cache Pro 安装与启用,这一篇继续讲 wp-config.php 里的 WP_REDIS_CONFIG 应该怎么配置,哪些参数必须改,哪些参数新手不要乱动。

Redis缓存系列教程:
阅读前提:如果你的 Object Cache Pro 后台还没有显示 Connected,建议先看第一篇《Object Cache Pro安装与启用教程》,先把插件安装和 Redis 连接跑通。
本文目标:给宝塔 + WordPress + Redis 环境提供一套能直接复制的 Object Cache Pro 配置方案,并解释每个参数的作用。

一、WP_REDIS_CONFIG 是什么?

WP_REDIS_CONFIG 是 Object Cache Pro 用来读取 Redis 配置的核心参数。它一般写在 WordPress 根目录的 wp-config.php 文件里。

简单理解,它的作用就是告诉 Object Cache Pro:

  • Redis 服务器在哪里;
  • Redis 用哪个端口;
  • 使用哪个 database;
  • 缓存最长保留多久;
  • 是否启用预取、严格模式等优化功能。
注意:不要把 Object Cache Pro 当成普通后台插件来配置。它最关键的配置是在 wp-config.php 里完成的。
Object Cache Pro 已成功连接 Redis

二、新手推荐配置: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-config.php 添加 WP_REDIS_CONFIG 配置

三、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);
宝塔 Redis 密码配置

五、多个 WordPress 网站共用 Redis 怎么配置?

如果一台服务器上只有一个 WordPress 站点,database0 就可以。

但如果一台服务器上有多个 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。这样更直观,也更不容易串缓存。
多个 WordPress 站点共用 Redis database 配置

六、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>
我的建议:能用不同 database 就优先用不同 database。只有 database 不够用,或者特殊环境限制时,再考虑 prefix。

七、这些高级参数新手不要乱开

很多教程会直接推荐开启 serializercompressionigbinaryzstd。这些确实能降低 Redis 内存占用,但前提是服务器扩展支持。

如果 PHP Redis 扩展没有编译对应支持,轻则 Object Cache Pro 报错,重则网站白屏或 500。

参数 作用 新手建议
serializer 序列化缓存数据 先不要开
compression 压缩缓存数据 先不要开
cluster Redis 集群配置 普通宝塔服务器不用
replication Redis 主从复制 普通宝塔服务器不用
结论:第二篇先不教开启 serializer 和 compression。等基础配置稳定后,第三篇再单独讲 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);
我的建议:大多数宝塔 WordPress 站点,直接用 2核4G 推荐配置即可。等网站稳定运行后,再考虑第三篇里的内存压缩、命中率优化和故障排查。
Object Cache Pro 缓存统计面板

九、修改配置后如何让它生效?

修改 wp-config.php 后,建议按下面顺序操作:

  1. 保存 wp-config.php 文件;
  2. 进入 WordPress 后台;
  3. 打开 Object Cache Pro 面板;
  4. 点击 Flush Cache 清理旧缓存;
  5. 刷新网站前台几次;
  6. 回到 Object Cache Pro 查看 Hits、Misses、Hit Rate 是否变化。
注意:maxttl 这类配置只影响新生成的缓存 key。修改后建议清理一次 Redis 缓存,避免旧缓存继续占用内存。

十、如何确认配置已经生效?

不建议新手一上来就用命令行判断,因为宝塔终端常用 root 用户,执行 WP-CLI 时可能出现 YIKES! running this as root 提示。

更推荐下面这几种方式。

方法一:看后台 Connected 状态

进入:

WordPress后台 → 设置 → Object Cache Pro

如果显示 Connected,说明 Redis 已经连接成功。

Object Cache Pro Connected 状态

方法二:看 Hit Rate 是否变化

刷新网站前台几次,再回到 Object Cache Pro 后台查看:

  • Hits 是否增加;
  • Misses 是否变化;
  • Hit Rate 是否逐渐提升。

刚安装时命中率低是正常现象,等访问积累后会逐步提升。

方法三:检查 object-cache.php 文件

进入网站目录:

wp-content/object-cache.php

如果这个文件存在,说明 Object Cache Pro 的 Drop-in 文件已经生成。

Object Cache Pro object-cache.php 文件

方法四:命令行检查

如果你想用 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 天;
  • 新手暂时不要开启 serializercompression

下一篇我们再继续讲 Object Cache Pro 的性能优化与故障排查,包括命中率低、Redis 内存占用高、网站变慢、WooCommerce 会话缓存等问题。

THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容