本篇文章将带你了解如何通过结合 Object Cache Pro 插件和 Redis 来提升你的 WordPress 网站性能。Object Cache Pro 是一个强大的插件,利用 Redis 作为对象缓存的底层存储,可极大地提升页面加载速度和站点的整体性能表现。
开始使用前的准备工作
在开始配置之前,请确保你已经完成了以下几个前提工作:
Redis 已经成功安装并运行在服务器上。
安装并激活 Object Cache Pro 插件,插件曾被命名为 Redis Object Cache Pro,是 WordPress 官方推荐的专业版 Redis 缓存管理工具。
如果你尚未完成这些必要步骤,请先进行上述操作,然后继续本文的下一部分。
配置方案一:基础设置使用方案
首先介绍的是一套适合大多数站点的基本配置方案。它较为简单,且能够满足大部分场景下的性能优化需求。
define('WP_REDIS_CONFIG', [
'token' => 'your-license-token',
'host' => '127.0.0.1',
'port' => 6379,
'database' => 0, // 针对不同站点应进行调整
'maxttl' => 3600 * 24 * 7, // 7 天
'timeout' => 1.0,
'read_timeout' => 1.0,
'prefetch' => true,
'split_alloptions' => true,
'strict' => true,
'debug' => false,
]);
define('WP_REDIS_DISABLED', getenv('WP_REDIS_DISABLED') ?: false);
设置参数详解:
‘token’ => ‘your-license-token’:将 your-license-token 替换为你的插件许可证密钥。例如,某些来源的版本可以在附件的“安装说明.txt”中找到该密钥。
‘host’ => ‘127.0.0.1’:Redis 服务器的主机地址,通常是本地地址。
‘port’ => 6379:Redis 服务器的默认端口号。
‘database’ => 0’:使用不同的数据库编号,为多站点部署时分离缓存。
‘maxttl’ => 3600 * 24 * 7:设置缓存项的最大生存时间,通常是 7 天,视业务需求调整。
‘timeout’ => 1.0 与 ‘read_timeout’ => 1.0’:连接到 Redis 服务器的超时时间。
‘prefetch’ => true:开启预取功能,减少缓存延迟。
‘split_alloptions’ => true’:将 alloptions 键拆分为哈希存储,这对于大量选项的站点(如使用 WooCommerce 或 Elementor)尤为有用。
‘strict’ => true’:启用严格模式,确保插件与 WordPress 的行为一致。
‘debug’ => false’:调试模式在生产环境应保持关闭,防止泄露敏感数据。
WP_REDIS_DISABLED 参数的作用是控制 Redis 缓存的启用状态。当你需要暂时停用缓存时,可以将其值设置为 true。
注意:以上配置需要写入你的 wp-config.php 文件,保存后,Object Cache Pro 的缓存功能就会被激活。
配置方案二:进阶使用设置
对于需要更高自定义和控制的场景,可以选择使用进阶配置。这种设置提供了更多调整余地,以便你更加精细地优化缓存行为。
define('WP_REDIS_CONFIG', [
'token' => 'your-license-token',
'host' => '127.0.0.1',
'port' => 6379,
'database' => 0, // 针对不同站点调整
'timeout' => 0.5,
'read_timeout' => 0.5,
'retry_interval' => 100,
'retries' => 3,
'backoff' => 'smart',
'compression' => 'zstd', // 使用 zstd 获取更强压缩比,或 lz4 速度更快
'serializer' => 'igbinary',
'async_flush' => true,
'split_alloptions' => true,
'prefetch' => true,
'strict' => true,
'debug' => false,
'save_commands' => false,
]);
define('WP_REDIS_DISABLED', getenv('WP_REDIS_DISABLED') ?: false);
参数解释:
‘token’ => ‘your-license-token’:同样需要将 your-license-token 替换为有效的许可证密钥。
‘host’ => ‘127.0.0.1’ 和 ‘port’ => 6379’:Redis 服务器的主机地址和端口,通常保持不变。
‘database’ => 0’:不同的网站应具有单独的数据库编号。
‘timeout’ => 0.5 和 ‘read_timeout’ => 0.5:相比基础配置,降低连接超时阈值以提高响应速度。
‘retry_interval’ => 100 和 ‘retries’ => 3:设置当连接失败时的重试机制,retry_interval 表示重试间隔(毫秒为单位),retries 为最大重试次数。
‘backoff’ => ‘smart’:智能退避策略,用于优化重试的效率。
‘compression’ => ‘zstd’:选择压缩算法,根据站点数据情况启用更好的压缩方案,如 zstd 提供高压缩率,而 lz4 则注重速度。
‘serializer’ => ‘igbinary’:替换 PHP 默认的序列化方法,igbinary 能够带来更高的效率。
‘async_flush’ => true:异步刷新能明显提高性能表现。
‘split_alloptions’ => true’ 和 ‘prefetch’ => true’:性能优化相关选项,因功能站点情况而定。
‘strict’ => true’:强制 Redis 与 WordPress 标准保持一致。
‘debug’ => false’ 和 ‘save_commands’ => false’:关闭调试和禁止保存写入命令,有助于提升生产环境的安全性和性能。
这套进阶配置适用于对性能要求较高或有复杂对象缓存需求的 WordPress 站点,允许你根据具体情况进行更细致的调整。
使用总结
通过上述两种配置方案,无论是基础配置还是进阶配置,你都能够有效地利用 Redis 和 Object Cache Pro 插件来优化 WordPress 站点的性能表现。一般而言,大多数站点只需要使用基本配置即可获得显著提升,而对于访问量大、数据复杂的站点,进阶配置能够提供更灵活、强大的控制选项。
无论你选择哪种配置方式,提升网站的响应时间,改善用户体验并且减轻服务器的负载都是 Redis 缓存最显著的好处之一。请根据站点实际情况,仔细调整参数,以确保最佳的性能表现。
读懂Object Cache Pro插件后台图表参数
这些图表为你提供了关于 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 系统在有效地处理大量请求。
通过监控这些图表数据,你可以深入了解 WordPress 站点与 Redis 缓存系统的交互模式。这有助于识别网站性能的瓶颈,及时采取优化措施以改善站点的响应速度和整体用户体验。
推荐资源
- [1]课程插件Redis Object Cache Pro – 企业级Redis对象缓存WordPress插件
- [2]推荐插件WP Rocket 插件汉化版-WordPress网站缓存优化加速专业插件介绍
免责声明: 本网站所发布的一切资源均来自于会员发布以及互联网收集,不代表本站立场,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则一切后果请用户自负;依据WordPress GPL开源许可协议分享,如有侵犯到您的权益,请联系我们。