Object Cache Pro 企业级 Redis 对象缓存 WordPress 插件
2025年10月16日61
V1.24.5,Object Cache Pro 是一个商业级的 Redis 对象缓存后端。 真正可靠、高度优化、完全可定制,并在您最需要的时候配备专门的工程师。
主要特点
- 为原始性能重写
- 100% WordPress API 兼容
- 更快的序列化和压缩
- 轻松调试和记录
- 缓存预取和分析
- 完全单元测试(100% 代码覆盖率)
- 使用 TLS 保护连接
- 通过 WordPress 和 WP CLI 进行健康检查
- 针对 WooCommerce、Jetpack 和 Yoast SEO 进行了优化
使用说明
1、安装 Redis、PHP 添加 Redis 扩展,步骤不在此说明。
2、下载插件,将 “object-cache-pro” 文件夹上传到 WordPress 的 Plugins 目录,然后在 “已安装插件” 中启用。
3、此时提示需要设置 WP_REDIS_CONFIG,打开压缩包中的 “config.php” 文件或直接复制下面的代码,插入到 “wp_config.php” 中 “require_once ABSPATH . ‘wp-settings.php’;” 之前,具体设置根据自己情况调整即可。
<?php // Object Cache Pro Config define( 'WP_REDIS_CONFIG', [ // 许可证密钥。 'token' => 'QcbmwJ9Jb5VaFpHbLriNgL51pLCwnQTI0r6fybYZPf2TF3XiWtKX6SepZq77', // 客户端,默认 null。 'client' => 'phpredis', // Redis 服务器的主机地址,默认 null。 'host' => '127.0.0.1', // Redis 服务器的端口号,默认 null。 'port' => 6379, // 数据库编号,避免在多个站点上使用相同的数据库,默认 0。 'database' => 0, // 用户名,默认 null。 'username' => null, // 密码,默认 null。 'password' => null, // 键前缀,默认 null。 'prefix' => null, // 缓存生存时间,默认 null。 'maxttl' => 3600 * 24 * 7, // 7 天 // 连接超时,默认 2.5 秒。 'timeout' => 1, // 读取超时,默认 2.5 秒。 'read_timeout' => 1, // 重试间隔,默认 25 毫秒。 'retry_interval' => 25, // 重试次数,默认 3 次。 'retries' => 3, // 序列化器:php(默认)、igbinary(一般更高效)。 'serializer' => 'igbinary', // 压缩算法:none(默认)、lzf、lz4(更快)、zstd(更小)。 'compression' => 'none', // 批量预取,默认 false。 'prefetch' => true, // 存储为哈希,如果你的站点有大量的选项,启用可提高性能,默认 false。 'split_alloptions' => true, ] ); define( 'WP_REDIS_DISABLED', false );
4、重新打开插件页面,点击“Enable Cache”,插件就启用了,如果配置中有不支持的项目,会有提示,根据提示更改即可。
5、成功启用后就可以看到缓存状态了,还可以通过 “显示选项” 来自定义显示监控图表。
这些图表为你提供了关于 WordPress 站点在使用 Redis 缓存时,其性能状态及行为的详细数据解读。以下是各个指标的具体含义:
“Requests”(请求)
Cached Hits:显示已被缓存并从内存中成功读取的请求数量。
Uncached Hits:显示未被缓存但仍成功处理的请求数量。
Misses:显示没有命中缓存、需要从数据库或其他存储读取的数据请求数量。
Hits-to-Misses Ratio:表示缓存命中数与未命中的比率。此比率越高,表示缓存利用得越好,性能提升越显著。
“Redis:Requests”(Redis 请求)
Successful Key Lookups:展示了经过 Redis 查找并成功命中缓存键的次数。
Failed Key Lookups:展示了未能在 Redis 中找到键的查找次数,即缓存未命中的情况。
Hits-to-Misses Ratio:表示 Redis 缓存键的命中率与未命中率之间的比值,较高的比率通常意味着 Redis 缓存运行效果良好。
“Commands”(命令)
Cache Reads:指从缓存中读取数据的次数,反映了缓存数据的利用频率。
Datastore Writes:指将数据写入持久化存储的次数,通常表明缓存的数据过期或需要更新。
Datastore Reads:表示直接从数据源(例如数据库)读取数据的次数,通常发生在缓存未命中的情况下。
Cache Writes:表示向 Redis 缓存中写入数据的次数,通常是新数据或更新缓存时触发。
“Response Times”(响应时间)
WordPress Render Time:显示 WordPress 处理和渲染请求所需的平均时间,单位为毫秒。
Datastore Response Time:表示从数据存储(如数据库)获取响应的平均时间,单位为毫秒,这有助于评估数据存储的性能表现。
“Redis:Memory”(Redis 内存)
Memory Allocated:指当前已分配给 Redis 的内存总量。
Used Memory:显示 Redis 当前实际使用的内存量。
Memory Ratio:表示已使用内存与最大允许内存的比率,可帮助检查 Redis 的内存使用情况,防止资源溢出或内存不足。
“Datastore Command Time”(数据存储命令时间)
Average Time Waiting for Datastore Response:衡量从发送请求到接收数据存储响应的平均等待时间,单位为毫秒。这一指标可以帮助你评估数据存储的延迟问题。
“Redis:Throughput”(Redis 吞吐量)
Commands Processed per Second:显示 Redis 每秒处理的命令数量,较高的处理量通常表明 Redis 系统在有效地处理大量请求。
Redis 设置
另外 Redis 也需要设置才能达到最佳效果。
1、设置 Redis 的最大内存,一般 Redis 内存通常设置为总内存的 50%-75%。这一范围兼顾了 Redis 自身内存开销(如数据结构、缓冲区)与其他系统服务(如操作系统、后台进程)的需求。
2、设置 redis 内存淘汰策略。maxmemory-policy 配置选项一般设置为 allkeys-lru 或 allkeys-lfu。
allkeys-lru
maxmemory-policy allkeys-lru
- LRU 代表 Least Recently Used。
- 当内存达到上限时,Redis 会移除最近最少使用的键。
- 适合需要根据使用频率来判断淘汰对象的场景。
allkeys-lfu
maxmemory-policy allkeys-lfu
- LFU 代表 Least Frequently Used。
- 当内存达到上限时,Redis 会移除使用频率最低的键。
- 更适合需要根据访问次数来判断淘汰对象的场景。
选择依据
- allkeys-lru:适合访问模式较为随机,且希望淘汰那些最近未被访问的键。
- allkeys-lfu:适合访问模式较为固定,且希望淘汰那些访问次数较少的键。
初始发布:2025年9月29日
还没有任何评论!