本篇文章將帶你了解如何通過結(jié)合 Object Cache Pro 插件和 Redis 來提升你的 WordPress 網(wǎng)站性能。Object Cache Pro 是一個(gè)強(qiáng)大的插件,利用 Redis 作為對象緩存的底層存儲(chǔ),可極大地提升頁面加載速度和站點(diǎn)的整體性能表現(xiàn)。

開始使用前的準(zhǔn)備工作
在開始配置之前,請確保你已經(jīng)完成了以下幾個(gè)前提工作:
Redis 已經(jīng)成功安裝并運(yùn)行在服務(wù)器上。
安裝并激活 Object Cache Pro 插件,插件曾被命名為 Redis Object Cache Pro,是 WordPress 官方推薦的專業(yè)版 Redis 緩存管理工具。
如果你尚未完成這些必要步驟,請先進(jìn)行上述操作,然后繼續(xù)本文的下一部分。
配置方案一:基礎(chǔ)設(shè)置使用方案
首先介紹的是一套適合大多數(shù)站點(diǎn)的基本配置方案。它較為簡單,且能夠滿足大部分場景下的性能優(yōu)化需求。
define('WP_REDIS_CONFIG', [
'token' => 'your-license-token',
'host' => '127.0.0.1',
'port' => 6379,
'database' => 0, // 針對不同站點(diǎn)應(yīng)進(jìn)行調(diào)整
'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);
設(shè)置參數(shù)詳解:
‘token’ => ‘your-license-token’:將 your-license-token 替換為你的插件許可證密鑰。例如,某些來源的版本可以在附件的“安裝說明.txt”中找到該密鑰。
‘host’ => ‘127.0.0.1’:Redis 服務(wù)器的主機(jī)地址,通常是本地地址。
‘port’ => 6379:Redis 服務(wù)器的默認(rèn)端口號(hào)。
‘database’ => 0’:使用不同的數(shù)據(jù)庫編號(hào),為多站點(diǎn)部署時(shí)分離緩存。
‘maxttl’ => 3600 * 24 * 7:設(shè)置緩存項(xiàng)的最大生存時(shí)間,通常是 7 天,視業(yè)務(wù)需求調(diào)整。
‘timeout’ => 1.0 與 ‘read_timeout’ => 1.0’:連接到 Redis 服務(wù)器的超時(shí)時(shí)間。
‘prefetch’ => true:開啟預(yù)取功能,減少緩存延遲。
‘split_alloptions’ => true’:將 alloptions 鍵拆分為哈希存儲(chǔ),這對于大量選項(xiàng)的站點(diǎn)(如使用 WooCommerce 或 Elementor)尤為有用。
‘strict’ => true’:啟用嚴(yán)格模式,確保插件與 WordPress 的行為一致。
‘debug’ => false’:調(diào)試模式在生產(chǎn)環(huán)境應(yīng)保持關(guān)閉,防止泄露敏感數(shù)據(jù)。
WP_REDIS_DISABLED 參數(shù)的作用是控制 Redis 緩存的啟用狀態(tài)。當(dāng)你需要暫時(shí)停用緩存時(shí),可以將其值設(shè)置為 true。
注意:以上配置需要寫入你的 wp-config.php 文件,保存后,Object Cache Pro 的緩存功能就會(huì)被激活。
配置方案二:進(jìn)階使用設(shè)置
對于需要更高自定義和控制的場景,可以選擇使用進(jìn)階配置。這種設(shè)置提供了更多調(diào)整余地,以便你更加精細(xì)地優(yōu)化緩存行為。
define('WP_REDIS_CONFIG', [
'token' => 'your-license-token',
'host' => '127.0.0.1',
'port' => 6379,
'database' => 0, // 針對不同站點(diǎn)調(diào)整
'timeout' => 0.5,
'read_timeout' => 0.5,
'retry_interval' => 100,
'retries' => 3,
'backoff' => 'smart',
'compression' => 'zstd', // 使用 zstd 獲取更強(qiáng)壓縮比,或 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);
參數(shù)解釋:
‘token’ => ‘your-license-token’:同樣需要將 your-license-token 替換為有效的許可證密鑰。
‘host’ => ‘127.0.0.1’ 和 ‘port’ => 6379’:Redis 服務(wù)器的主機(jī)地址和端口,通常保持不變。
‘database’ => 0’:不同的網(wǎng)站應(yīng)具有單獨(dú)的數(shù)據(jù)庫編號(hào)。
‘timeout’ => 0.5 和 ‘read_timeout’ => 0.5:相比基礎(chǔ)配置,降低連接超時(shí)閾值以提高響應(yīng)速度。
‘retry_interval’ => 100 和 ‘retries’ => 3:設(shè)置當(dāng)連接失敗時(shí)的重試機(jī)制,retry_interval 表示重試間隔(毫秒為單位),retries 為最大重試次數(shù)。
‘backoff’ => ‘smart’:智能退避策略,用于優(yōu)化重試的效率。
‘compression’ => ‘zstd’:選擇壓縮算法,根據(jù)站點(diǎn)數(shù)據(jù)情況啟用更好的壓縮方案,如 zstd 提供高壓縮率,而 lz4 則注重速度。
‘serializer’ => ‘igbinary’:替換 PHP 默認(rèn)的序列化方法,igbinary 能夠帶來更高的效率。
‘a(chǎn)sync_flush’ => true:異步刷新能明顯提高性能表現(xiàn)。
‘split_alloptions’ => true’ 和 ‘prefetch’ => true’:性能優(yōu)化相關(guān)選項(xiàng),因功能站點(diǎn)情況而定。
‘strict’ => true’:強(qiáng)制 Redis 與 WordPress 標(biāo)準(zhǔn)保持一致。
‘debug’ => false’ 和 ‘save_commands’ => false’:關(guān)閉調(diào)試和禁止保存寫入命令,有助于提升生產(chǎn)環(huán)境的安全性和性能。
這套進(jìn)階配置適用于對性能要求較高或有復(fù)雜對象緩存需求的 WordPress 站點(diǎn),允許你根據(jù)具體情況進(jìn)行更細(xì)致的調(diào)整。
使用總結(jié)
通過上述兩種配置方案,無論是基礎(chǔ)配置還是進(jìn)階配置,你都能夠有效地利用 Redis 和 Object Cache Pro 插件來優(yōu)化 WordPress 站點(diǎn)的性能表現(xiàn)。一般而言,大多數(shù)站點(diǎn)只需要使用基本配置即可獲得顯著提升,而對于訪問量大、數(shù)據(jù)復(fù)雜的站點(diǎn),進(jìn)階配置能夠提供更靈活、強(qiáng)大的控制選項(xiàng)。
無論你選擇哪種配置方式,提升網(wǎng)站的響應(yīng)時(shí)間,改善用戶體驗(yàn)并且減輕服務(wù)器的負(fù)載都是 Redis 緩存最顯著的好處之一。請根據(jù)站點(diǎn)實(shí)際情況,仔細(xì)調(diào)整參數(shù),以確保最佳的性能表現(xiàn)。
讀懂Object Cache Pro插件后臺(tái)圖表參數(shù)


這些圖表為你提供了關(guān)于 WordPress 站點(diǎn)在使用 Redis 緩存時(shí),其性能狀態(tài)及行為的詳細(xì)數(shù)據(jù)解讀。以下是各個(gè)指標(biāo)的具體含義:
“Requests”(請求):
Cached Hits:顯示已被緩存并從內(nèi)存中成功讀取的請求數(shù)量。
Uncached Hits:顯示未被緩存但仍成功處理的請求數(shù)量。
Misses:顯示沒有命中緩存、需要從數(shù)據(jù)庫或其他存儲(chǔ)讀取的數(shù)據(jù)請求數(shù)量。
Hits-to-Misses Ratio:表示緩存命中數(shù)與未命中的比率。此比率越高,表示緩存利用得越好,性能提升越顯著。
“Redis:Requests”(Redis 請求):
Successful Key Lookups:展示了經(jīng)過 Redis 查找并成功命中緩存鍵的次數(shù)。
Failed Key Lookups:展示了未能在 Redis 中找到鍵的查找次數(shù),即緩存未命中的情況。
Hits-to-Misses Ratio:表示 Redis 緩存鍵的命中率與未命中率之間的比值,較高的比率通常意味著 Redis 緩存運(yùn)行效果良好。
“Commands”(命令):
Cache Reads:指從緩存中讀取數(shù)據(jù)的次數(shù),反映了緩存數(shù)據(jù)的利用頻率。
Datastore Writes:指將數(shù)據(jù)寫入持久化存儲(chǔ)的次數(shù),通常表明緩存的數(shù)據(jù)過期或需要更新。
Datastore Reads:表示直接從數(shù)據(jù)源(例如數(shù)據(jù)庫)讀取數(shù)據(jù)的次數(shù),通常發(fā)生在緩存未命中的情況下。
Cache Writes:表示向 Redis 緩存中寫入數(shù)據(jù)的次數(shù),通常是新數(shù)據(jù)或更新緩存時(shí)觸發(fā)。
“Response Times”(響應(yīng)時(shí)間):
WordPress Render Time:顯示 WordPress 處理和渲染請求所需的平均時(shí)間,單位為毫秒。
Datastore Response Time:表示從數(shù)據(jù)存儲(chǔ)(如數(shù)據(jù)庫)獲取響應(yīng)的平均時(shí)間,單位為毫秒,這有助于評估數(shù)據(jù)存儲(chǔ)的性能表現(xiàn)。
“Redis:Memory”(Redis 內(nèi)存):
Memory Allocated:指當(dāng)前已分配給 Redis 的內(nèi)存總量。
Used Memory:顯示 Redis 當(dāng)前實(shí)際使用的內(nèi)存量。
Memory Ratio:表示已使用內(nèi)存與最大允許內(nèi)存的比率,可幫助檢查 Redis 的內(nèi)存使用情況,防止資源溢出或內(nèi)存不足。
“Datastore Command Time”(數(shù)據(jù)存儲(chǔ)命令時(shí)間):
Average Time Waiting for Datastore Response:衡量從發(fā)送請求到接收數(shù)據(jù)存儲(chǔ)響應(yīng)的平均等待時(shí)間,單位為毫秒。這一指標(biāo)可以幫助你評估數(shù)據(jù)存儲(chǔ)的延遲問題。
“Redis:Throughput”(Redis 吞吐量):
Commands Processed per Second:顯示 Redis 每秒處理的命令數(shù)量,較高的處理量通常表明 Redis 系統(tǒng)在有效地處理大量請求。
通過監(jiān)控這些圖表數(shù)據(jù),你可以深入了解 WordPress 站點(diǎn)與 Redis 緩存系統(tǒng)的交互模式。這有助于識(shí)別網(wǎng)站性能的瓶頸,及時(shí)采取優(yōu)化措施以改善站點(diǎn)的響應(yīng)速度和整體用戶體驗(yàn)。

獲得更多外貿(mào)訂單