许多 WordPress 站点选择 Object Cache Pro 插件进行对象缓存优化,以提升站点的加载速度和数据库查询效率。然而,由于该插件的专业性较高,部分用户在使用过程中可能会遇到一些问题。本文将介绍 Object Cache Pro 插件的常见问题及相应的解决方法。
内容导航
1. Drop-in: Outdated 提示
问题描述
在插件管理页面或 Object Cache Pro 设置页,可能会看到 “Drop-in: Outdated” 提示,表示 object-cache.php
文件版本过时。
原因分析
- 插件更新后未自动替换 Drop-in 文件。
- 手动上传插件时未正确覆盖
object-cache.php
。 - WordPress 维护模式导致文件更新失败。
解决方法
方法 1:后台修复(推荐)
- 进入 WordPress 后台 → 设置 → Object Cache Pro 页面。
- 查找 “Drop-in outdated” 提示,点击 “Update Drop-in” 按钮(如果可用)。

方法 2:手动更新 object-cache.php
- 禁用 Object Cache Pro 插件。
- 通过 FTP/SFTP 或 SSH 进入
/wp-content/
目录。 - 删除或备份 旧的
object-cache.php
文件。 - 重新启用 Object Cache Pro,插件会自动生成新的
object-cache.php
。如果未自动生成,可以从插件的安装包中,将 object-cache-pro\stubs\object-cache.php 手动上传至/wp-content/
目录。
2. Redis 连接失败
问题描述
启用 Object Cache Pro 后,在设置页面看到 “Redis is not available” 或 缓存未命中。
原因分析
- Redis 未安装或未运行。
- WordPress 配置错误,未正确连接 Redis。
- 服务器防火墙或安全规则阻止 Redis 连接。
解决方法
方法 1:确保下载安装的 Object Cache Pro 版本与服务器中安装的 Redis、PhpRedis 版本兼容。
最新版本的系统需求:https://objectcache.pro/docs/installation#requirements
方法 2:检查 Redis 是否运行
SSH 连接服务器,运行以下命令:
redis-cli ping
如果返回 PONG
,表示 Redis 运行正常。否则,需要启动 Redis:
sudo systemctl start redis
方法 3:检查 wp-config.php
配置
确保 wp-config.php
文件中包含以下代码:
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_DATABASE', 0);
define('WP_REDIS_PASSWORD', 'your_password'); // 如果 Redis 设置了密码
更多关于 Object Cache Pro 插件的配置请查看:《WordPress Redis 配置指南:Object Cache Pro 插件详解》,更多配置参数可阅读插件官方文档。
方法 4:检查防火墙
如果 Redis 在 远程服务器,请确保端口 6379 开放:
sudo ufw allow 6379/tcp
然后重启 Redis:
sudo systemctl restart redis
3. 站点缓存未生效
问题描述
Object Cache Pro 启用后,缓存未命中,或查询速度没有明显提升。
原因分析
- 对象缓存未启用。
- 插件冲突,导致缓存被清除。
- 站点动态内容较多,缓存策略不合适。
解决方法
方法 1:检查对象缓存状态
进入 WordPress 后台 → 设置 → Object Cache Pro,查看缓存命中率。
如果对象缓存未启用,运行以下命令(以下指令需要安装 WP-CLI ):
wp cache enable
方法 2:排查插件冲突
某些缓存插件可能与 Object Cache Pro 存在兼容性问题。可以 逐个禁用插件 进行排查,确保 Object Cache Pro 正常工作。
方法 3:调整缓存策略
对于 WooCommerce、会员系统等动态站点,可以调整 wp-config.php
设置,避免缓存用户特定的数据:
define('WP_REDIS_IGNORED_GROUPS', ['sessions', 'user_meta', 'wc_session_id']);
被忽略的组(Groups)含义
(1) sessions:通常指 PHP 会话数据($_SESSION)或 WordPress 的会话机制相关数据。
原因:如果你的网站使用PHP原生会话(通过session_start())或某些插件(如WooCommerce)的会话处理,这些数据可能已通过其他方式存储(如数据库或文件),不需要再缓存到 Redis。
直接缓存会话数据可能导致冲突或不必要的复杂性(例如会话数据可能需要实时更新,而Redis缓存可能引入延迟)。
(2) user_meta:用户元数据(user_meta),即存储在 WordPress 用户表中的额外信息(如用户扩展字段、插件或主题自定义的用户数据)。
原因:如果你的网站频繁更新用户元数据(例如实时统计或动态数据),缓存到Redis可能导致数据不一致。
某些插件(如会员系统)可能依赖数据库查询的实时性,避免使用缓存。
(3) wc_session_id:WooCommerce会话ID(wc_session_id),通常用于存储购物车、用户临时购物状态等数据。
原因:WooCommerce有自己的会话处理机制,默认可能已使用数据库或文件存储会话数据。
如果同时启用Redis缓存会话,可能导致数据冲突或不必要的缓存清理问题。
4. 如何清理对象缓存?
如果站点数据更新后未及时生效,可以尝试手动清理缓存。
方法 1:通过 WordPress 后台清理
进入 Object Cache Pro 设置页面,点击 “Flush Cache” 按钮。
方法 2:使用 WP-CLI 清理
wp cache flush
方法 3:手动重启 Redis(适用于 Redis 连接异常)
sudo systemctl restart redis
总结
Object Cache Pro 作为专业级的对象缓存插件,可以极大提升 WordPress 站点的性能,但使用过程中可能会遇到 Drop-in 过时、Redis 连接失败、缓存未生效 等问题。通过 检查插件状态、调整 Redis 配置、优化缓存策略,可以确保站点缓存高效运行。
暂无评论内容