WordPress 對象緩存:輕鬆提高網站性能
已發表: 2022-06-09任何人都不喜歡加載緩慢的網站。 如果您的網站加載時間超過 2 秒,人們會立即離開您的網站。
根據 Google 的說法,您的網站應該在兩秒或更短的時間內加載。 時間再長,訪客就會開始失去興趣。
當涉及到您的站點性能增強時,WordPress 對象緩存可以為您提供最大幫助。 在您的站點上正確配置對象緩存,您可以使您的站點對訪問者響應迅速。
對象緩存涉及存儲數據庫查詢,當在您的 WordPress 站點上啟用時,它可以幫助加快 PHP 執行時間、減少數據庫負載並更快地向訪問者提供內容。
如果您是 WordPress 新用戶並且對 WordPress 對象緩存了解不多,則無需擔心。 因為今天,在這個博客中,我們將討論有關對象緩存的所有內容。 因此,請繼續閱讀以了解更多信息。
緩存如何在 WordPress 中工作
在進入 WordPress 對象緩存之前,讓我們快速了解一下緩存在 WordPress 中的工作原理。
當訪問者訪問您的網站時,基本上會發生以下情況:
- 來自世界任何地方的用戶訪問您的網站,他們的瀏覽器會聯繫您的網絡服務器。
- 您的 WordPress 安裝會與安裝它的數據庫聯繫,以獲取您的帖子和其他存儲的數據。
- 然後 Web 服務器將這些數據編譯成 HTML 頁面並將其返回給用戶。
- 如果您在站點上啟用了緩存,服務器將在您的緩存中創建此請求的副本。
- 當再次發出類似的請求時,將從緩存而不是數據庫中提供服務。
這意味著 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 站點的開源對象緩存解決方案,可以幫助減少 MySQL 數據庫的負載。 如果您要擴大網站規模或增加流量,它可能是您網站的有用工具。
Redis 將數據存儲在內存中,而不是磁盤或 SSD。 因此,它提供了高性能。 它提供內置複製。 您可以將數據放置在離用戶位置更近的位置以獲得最低的延遲。
Redis 適用於許多數據結構,例如字符串、哈希、列表、集合等。 它具有許多強大的功能,包括內置複製、腳本和磁盤持久性。 Redis Sentinel 和 Redis Cluster 分別提供了包括高可用性和自動分區在內的附加功能。
在您的服務器上安裝 Redis 後,您可以使用與 Redis 兼容的插件(如 Redis 對象緩存)將其連接到您的站點。
2. 內存緩存
與 Redis 一樣,Memcached 也是一個開源的分佈式內存緩存系統。 它用於緩存數據庫、API 調用和頁面渲染。 它有助於通過減少數據庫負載來提高應用程序速度。
Memcached 為每個項目分配一個鍵、過期時間和原始數據。 當用戶請求一段內容或數據時,Memcached 會首先在緩存中查找它是否存儲在那裡。 如果是,它會從那裡檢索數據並且不需要檢查數據庫。
如果數據不在緩存中,Memcached 將向調用應用程序返回失敗代碼。 然後,應用程序負責從其他地方獲取數據,並且可以選擇將新數據重新提交回 Memcached。 get_option、get_postmeta 等 WordPress 函數使用緩存數據。
您將獲得許多可在您的站點上使用的 Memcached 兼容插件。 其中,W3 Total Cache 是一款非常受歡迎的插件。
3.裝甲運兵車
APC 或 Alternative PHP Cache 是一個免費的開源 PHP 緩存插件。 通過 APC 緩存,您的 PHP 腳本執行可以通過減少動態 PHP 執行來更有效地運行。
APC 不同於 Redis 或 Memcached,因為它只關注 PHP 緩存。 通過減少動態 PHP 執行,腳本執行可以高效運行。 當瀏覽器發出頁面請求時,服務器將解析您的 PHP 腳本中的代碼,然後生成生成的 HTML 代碼,該代碼將在用戶瀏覽器中顯示為頁面。
APC 是一個可以加載到 PHP 中的 PECL 模塊,但是因為它在服務器級別運行,所以它不能在我們的共享主機服務器上運行。 如果您在 VPS 或專用服務器上並且能夠輕鬆安裝 PECL 模塊,那麼您可以繼續在您的站點上安裝 APC。
如何在您的 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 是否與 WordPress 對象緩存兼容?
是的! Dokan 現在與 WordPress 對象緩存兼容。 如果您使用的是 Dokan 最新版本 Dokan 3.5.0 或以上版本,您可以啟用對象緩存並在您的站點上無縫使用 Dokan。
因此,在您的服務器上安裝一個 WordPress 對象緩存解決方案,如 Redis 或 Memcached,並使用兼容的插件(如 W3 Total Cache 或 Redis Object Cache)將其連接到您的站點。 然後為您的在線市場使用 Dokan 多供應商插件,並充分利用 WordPress 對象緩存的優勢。
Dokan 多供應商插件的早期版本(Dokan 3.5 之前)不支持對象緩存。 但在Dokan 3.5 版本發布後,現在完全兼容WordPress 對象緩存。
WordPress 對象緩存 – 常見問題解答
緩存是指創建內容的靜態版本並將其提供給訪問者的過程。 靜態頁面通常在瀏覽器中快速呈現。 這會提高您網站的性能。
瞬變可以持續一秒或一天,實際上取決於您希望它們存在多長時間。 但是,它不會在到期時間後出現。 這意味著你可以設置一個過期時間,它會一直持續到過期時間。
它通過減少數據庫的負載來提高站點性能。 通過在您的網站上啟用緩存解決方案,您將能夠將網站的靜態版本存儲在緩存中。 這允許 WordPress 在您的網站每次加載時跳過運行較重的 PHP 腳本。
WordPress 不會自動刪除過期的瞬變。 在數月乃至數年的時間裡,這些存在於數據庫 wp_options 表中的已過期但未刪除的瞬變可能會開始減慢速度並阻礙網站性能。 出於這個原因,我們應該刪除過期的瞬態以提高 WordPress 網站的性能。
是的,WordPress 有一個名為 WP_Object_Cache 的內置對象緩存。 它於 2005 年推出,提供了一種自動將數據庫中的任何數據存儲在 PHP 內存中以防止重複查詢的方法。
交給你
如果您想提高 WordPress 網站的性能,WordPress 對象緩存至關重要。 它可以減少您的服務器負載,因為它不會在您的網站每次加載時都運行較重的 PHP 腳本。 相反,它會向訪問者顯示緩存中所請求文件的靜態版本。
您可以按照我們的教程在您的站點上設置和配置對象緩存。 此外,您可以在您的在線市場上啟用對象緩存並順利使用 Dokan,因為現在 Dokan 與 WordPress 對象緩存完全兼容。
所以,這就是我們在對象緩存方面的全部內容。 現在輪到你了。 在您的站點上啟用對象緩存,如果您在站點上配置緩存時遇到任何問題,請通過下面的評論框告訴我們。 我們很樂意儘早解決您的問題。