WordPress 對象緩存:輕鬆提高網站性能

已發表: 2022-06-09

任何人都不喜歡加載緩慢的網站。 如果您的網站加載時間超過 2 秒,人們會立即離開您的網站。

根據谷歌的說法,你的網站應該在兩秒或更短的時間內加載。 再長的時間,遊客就會開始失去興趣。

當談到您的網站性能增強時,WordPress 對象緩存可以為您提供最大的幫助。 在您的網站上正確配置對象緩存,您可以使您的網站對訪問者做出超級響應。

對象緩存涉及存儲數據庫查詢,當在您的 WordPress 站點上啟用時,它可以幫助加快 PHP 執行時間、減少數據庫負載並更快地向訪問者提供內容。

如果您是 WordPress 新用戶並且對 WordPress 對象緩存不太了解,則無需擔心。 因為今天,在這個博客中,我們將討論有關對象緩存的所有內容。 因此,請繼續閱讀以了解更多信息。

緩存如何在 WordPress 中工作

緩存在 WordPress 中的作用是什麼

在進入 WordPress 對象緩存之前,讓我們快速了解一下緩存在 WordPress 中是如何工作的。

當訪問者訪問您的網站時,基本上會發生這種情況:

  • 來自世界任何地方的用戶訪問您的網站,他們的瀏覽器會聯繫您的網絡服務器。
  • 您的 WordPress 安裝會聯繫安裝它的數據庫以獲取您的帖子和其他存儲的數據。
  • 然後,Web 服務器將此數據編譯成 HTML 頁面並將其返回給用戶。
  • 如果您在站點上啟用了緩存,服務器將在您的緩存中創建此請求的副本。
  • 當再次發出類似的請求時,它將從緩存而不是數據庫中提供服務。

這意味著 WordPress 緩存會保存您網站的靜態頁面以將其顯示給訪問者,而不會在每次訪問者請求任何特定頁面或帖子時生成動態內容。

這可以顯著提高您的網站性能,尤其是當您一次處理網站上的大量流量時。

什麼是 WordPress 對象緩存

緩存有兩種主要類型:客戶端緩存服務器端緩存

有許多類型的客戶端緩存,但您可能最熟悉的一種是瀏覽器緩存。 這是瀏覽器存儲靜態網頁內容的地方,因此下次有人訪問您的網站時,該頁面將從他們計算機上的緩存中提取,而不是再次下載。

對象緩存是一種服務器端緩存。 這意味著緩存存儲在服務器上,而不是用戶的瀏覽器上。

啟用對象緩存後,您的服務器將創建緩存中每個請求的副本。 下次發出類似請求時,首先檢查緩存並從那裡提供請求,而不是查詢數據庫。

WordPress 對象緩存是如何工作的

如果副本不存在,則向數據庫發出請求以進行處理和編譯。 一旦處理完畢,它就會被發送回瀏覽器,並在緩存中製作一個副本以供將來使用。

因此,對象緩存最大限度地減少了服務器必須查詢數據庫的次數。 此設置可以減少服務器上的負載,尤其是在流量高峰期。

在 WordPress 中解釋“WP_Object_Cache”

WordPress 有一個內置的對象緩存,即 WP_Object_Cache。 它是一個 WordPress 類,可以自動將數據庫中的任何數據存儲在 PHP 內存中。 這樣,它可以防止對數據庫的重複和不必要的查詢。

默認情況下,WordPress 對象緩存是非持久的,這意味著它只存儲單個頁面加載的數據。 一旦請求結束,緩存中的對象將被丟棄。

出於這個原因,您可能需要考慮使用持久緩存工具。 使用此工具,對象將在多個頁面加載時被緩存,從而進一步提高性能。

Redis 和 Memcached 等外部​​持久對象緩存解決方案使得在請求之間持久化對象緩存成為可能。 這有助於加快數據庫查詢的交付,同時進一步減輕服務器的工作量。

3 款適用於 WordPress 的最佳持久對象緩存工具

現在有一些流行的 WordPress 對象緩存工具可用。 其中Redis、Memcached、APC使用的工具最多。 所以,讓我們一一檢查。

1.Redis

Redis WordPress 對象緩存解決方案

Redis 是一個用於 WordPress 網站的開源對象緩存解決方案,可以幫助減少 MySQL 數據庫的負載。 如果您正在擴大您的網站或增加流量,它可能是您網站的有用工具。

Redis 將數據存儲在內存中,而不是磁盤或 SSD。 因此,它提供了高性能。 它提供內置複製。 您可以將數據放置在更靠近用戶的位置以獲得最低延遲。

Redis 適用於許多數據結構,例如字符串、哈希、列表、集合等。 它具有許多強大的功能,包括內置複製、腳本和磁盤持久性。 Redis Sentinel 和 Redis Cluster 分別提供了額外的特性,包括高可用性和自動分區。

在您的服務器上安裝 Redis 後,您可以使用與 Redis 兼容的插件(如 Redis 對象緩存)將其與您的站點連接。

2. 內存緩存

Memcached WordPress 對象緩存解決方案

與 Redis 一樣,Memcached 也是一個開源的分佈式內存緩存系統。 它用於緩存數據庫、API 調用和頁面渲染。 它有助於通過減少數據庫負載來提高應用程序的速度。

Memcached 為每個項目分配一個鍵、到期時間和原始數據。 當用戶請求一段內容或數據時,Memcached 會首先在緩存中查找是否存儲在那裡。 如果是,它會從那裡檢索數據並且不需要檢查數據庫。

如果數據不在緩存中,Memcached 將向調用應用程序返回失敗代碼。 然後,應用程序負責從其他地方獲取數據,並可選擇將新數據重新提交回 Memcached。 get_option、get_postmeta 等 WordPress 函數確實使用緩存數據。

您將獲得許多可在您的站點上使用的 Memcached 兼容插件。 其中,W3 Total Cache 是一個非常流行的插件。

3. APC

APC 或 Alternative PHP Cache 是一個免費的 PHP 開源緩存插件。 使用 APC 緩存,通過減少動態 PHP 執行,您的 PHP 腳本執行可以更有效地運行。

APC 與 Redis 或 Memcached 不同,因為它只關注 PHP 緩存。 通過減少動態 PHP 執行,腳本執行可以高效運行。 當瀏覽器發出頁面請求時,服務器將解析 PHP 腳本中的代碼,然後生成生成的 HTML 代碼,該代碼將在用戶瀏覽器中顯示為頁面。

APC 是一個可以加載到 PHP 中的 PECL 模塊,但由於它在服務器級別運行,因此無法在我們的共享託管服務器上運行。 如果您在 VPS 或專用服務器上並且可以輕鬆安裝 PECL 模塊,那麼您可以繼續在您的站點上安裝 APC。

如何在您的 WordPress 網站中啟用持久對象緩存

WordPress 對象緩存

現在我們將向您展示如何使用 Homebrew 在 macOS 上安裝 Redis。 Homebrew 是在 macOS 上安裝 Redis的最簡單方法。 您可以按照本教程在 Linux 和 Windows 上安裝 Redis。

1.先決條件

首先,確保您安裝了 Homebrew。 從終端運行:

 $ brew --version

如果此命令失敗,您需要按照 Homebrew 安裝說明進行操作。

2.安裝

從終端運行:

 brew install redis

這將在您的系統上安裝 Redis。

3、在前台啟動和停止Redis

要測試您的 Redis 安裝,您可以從命令行運行redis-server可執行文件:

 redis-server

如果成功,您將看到 Redis 的啟動日誌,並且 Redis 將在前台運行。

要停止 Redis,請輸入Ctrl-C

4. 使用 Launched 啟動和停止 Redis

作為在前台運行 Redis 的替代方案,您還可以使用launchd在後台啟動進程:

 brew services start redis

這將啟動 Redis 並在登錄時重新啟動它。 您可以通過運行以下命令檢查已launchd的託管 Redis 的狀態:

 brew services info redis

如果服務正在運行,您將看到如下輸出:

 redis ( homebrew.mxcl.redis ) Running: Loaded: User: miranda PID:

要停止服務,請運行:

 brew services stop redis

5.連接Redis

Redis 運行後,您可以通過運行redis-cli對其進行測試:

 redis-cli

這將打開 Redis REPL。 嘗試運行一些命令:

 127.0.0.1:6379> lpush demos redis-macOS-demo OK 127.0.0.1:6379> rpop demos "redis-macOS-demo"

6. 安裝和激活 Redis 對象緩存插件

連接到 Redis 後,您可以將 Redis 對象緩存插件添加到您的站點。

安裝並激活插件後,導航到儀表板中的設置> Redis 。 然後單擊“啟用對象緩存”按鈕以在您的站點上啟用對象緩存。

啟用對象緩存

而已! 您已成功在您的網站上啟用 WordPress 對象緩存。

獎勵:Dokan Multivendor 是否與 WordPress 對象緩存兼容

Dokan 兼容對象緩存

這是 Dokan 用戶經常問的問題之一——Dokan 是否與 WordPress 對象緩存兼容?

是的! Dokan 現在與 WordPress 對象緩存兼容。 如果您使用的是 Dokan 最新版本 Dokan 3.5.0 或以上版本,您可以啟用對象緩存並在您的站點上無縫使用 Dokan。

因此,請在您的服務器上安裝一個 WordPress 對象緩存解決方案,如 Redis 或 Memcached,並使用 W3 Total Cache 或 Redis 對象緩存等兼容插件將其與您的站點連接。 然後為您的在線市場使用 Dokan 多供應商插件,並充分利用 WordPress 對象緩存。

Dokan 多供應商插件的早期版本(Dokan 3.5 之前)不支持對象緩存。 但是在Dokan 3.5版本發布後,現在它已經完全兼容WordPress對象緩存了。

單擊此處了解有關 Dokan 多供應商的更多信息

WordPress 對象緩存 – 常見問題

什麼是緩存?

緩存是指創建內容的靜態版本並將其提供給訪問者的過程。 靜態頁面通常在瀏覽器中快速呈現。 這可以提高您網站的性能。

瞬態持續多長時間?

瞬態可以持續一秒鐘或一天,實際上取決於您希望它們存在多長時間。 但是,它不會在到期時間之後出現。 這意味著您可以設置到期時間,它將持續到到期時間。

啟用對象緩存如何提高您的站點性能?

它通過減少數據庫負載來提高站點性能。 通過在您的網站上啟用緩存解決方案,您將能夠將網站的靜態版本存儲在緩存中。 這允許 WordPress 在每次站點加載時跳過運行較重的 PHP 腳本。

為什麼你應該定期刪除你的站點過期的瞬態?

WordPress 不會自動刪除過期的瞬態。 在幾個月和幾年的時間裡,這些存在於數據庫 wp_options 表中的已過期但未刪除的瞬態可能會開始減慢速度並阻礙站點性能。 出於這個原因,我們應該刪除過期的瞬態以提高 WordPress 網站的性能。

WordPress 有內置緩存嗎?

是的,WordPress 有一個名為 WP_Object_Cache 的內置對象緩存。 它於 2005 年推出,提供了一種自動將數據庫中的任何數據存儲在 PHP 內存中以防止重複查詢的方法。

交給你

如果您想提高 WordPress 網站的性能,WordPress 對象緩存至關重要。 它可以通過在每次站點加載時不運行較重的 PHP 腳本來減少服務器負載。 相反,它會從您的緩存中向訪問者顯示所請求文件的靜態版本。

您可以按照我們的教程在您的站點上設置和配置對象緩存。 此外,您可以在您的在線市場上啟用對象緩存並順利使用 Dokan,因為現在 Dokan 與 WordPress 對象緩存完全兼容。

所以,這就是我們關於對象緩存的全部內容。 現在輪到你了。 在您的站點上啟用對象緩存,如果您在通過下面的評論框在您的站點上配置緩存時遇到任何復雜情況,請告訴我們。 我們很樂意儘早解決您的問題。