本篇文章将带你了解如何通过结合 Object Cache Pro 插件和 Redis 来提升你的 WordPress 网站性能。Object Cache Pro 是一个强大的插件,利用 Redis 作为对象缓存的底层存储,可极大地提升页面加载速度和站点的整体性能表现。

Object Cache Pro 对象缓存插件使用教程


开始使用前的准备工作


在开始配置之前,请确保你已经完成了以下几个前提工作:

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插件后台图表参数

读懂Object Cache Pro插件后台图表参数
读懂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 缓存系统的交互模式。这有助于识别网站性能的瓶颈,及时采取优化措施以改善站点的响应速度和整体用户体验。

推荐资源

发表回复

后才能评论