WordPress緩存:可以緩存什麼以及我們如何做

已發表: 2017-04-28

您希望您的網站快速運行。 一種有助於提高站點速度的技術是緩存。 緩存是一組軟件和硬件技術,用於存儲數據,以便它們可以快速用於未來的請求。 在本文中,我們將解釋什麼是 WordPress 緩存,它如何在許多不同的級別上實現,以及我們如何為您處理一切,讓您不必擔心。

什麼是緩存?

在計算中,有一種叫做“緩存”的東西,其中軟件或硬件組件用於臨時存儲值並在將來更快地檢索它們。 MySQL 查詢或編譯的 PHP 字節碼等值以及 HTML 和圖像等重複數據。 幾乎所有東西,真的。

緩存的好處

通過製作數據副本並將它們放置在“緩存”組件中,我們獲得了顯著的性能優勢。 您的訪問者可以比未緩存更快地檢索緩存內容。 訪問者可以比未緩存的內容更快地檢索緩存的內容。 緩存組件通常是內存,但可以是比傳統存儲更快的任何東西。 但是您可以獲得多少性能改進?
這完全取決於您可以緩存多少數據,但一般來說,整整一秒的性能提升並不少見。

可以緩存什麼?

有幾個級別,具體取決於您希望使用緩存優化網站的程度。

HTML 輸出

第一種方法是緩存 HTML 頁面本身。 有許多 WordPress 緩存插件,例如 WP Rocket 和 W3 Total Cache,可以做到這一點等等。 這些插件緩存 HTML 輸出的結果,為將來的請求節省時間。 此外,每個插件都為您提供了緩存失效機制,因此您可以在需要時提供未緩存的內容。

另一種技術是“縮小”HTML,即使其更小。 這給你每頁幾千字節,但它會隨著時間的推移而增加。

您將需要訪問儀表板,或者需要一種將插件安裝到 WordPress 的方法才能做到這一點。

參考:

  • WP火箭
  • W3 Total Cache WordPress 插件

PHP OpCache

OpCaching 是一種 PHP 獲取源 PHP 文件並將它們編譯成稱為字節碼的中間形式的技術。 字節碼類似於計算機的機器代碼,但它指的是由“虛擬機”(本例中為 PHP)而不是由真實機器執行的機器代碼。 由於它是機器代碼並駐留在內存中,因此它的執行速度比讓 PHP 解釋器一次解析一個命令並執行它要快得多。

緩存在該級別將這些字節碼數據存儲到內存中,以便您的應用程序可以更快地執行。

您需要訪問 PHP 配置文件才能啟用 PHP OpCache。

參考:OpCache

使用 Pressidium 託管您的網站

60 天退款保證

查看我們的計劃

PHP 對象緩存

這是在語言的 OOP 級別上完成的緩存。 PHP 是一種面向對象的語言,這意味著它使用“對象”的概念來描述邏輯、數據和思想。 當您的應用程序運行時,這些對像不斷被創建和銷毀(動態地,由稱為垃圾收集器的子系統)。 這些對象的創建和初始化過程需要時間。 所以對象緩存通過緩存對象本身來解決這個問題。

這是通過諸如 Memcached 之類的插件和 Redis 的各種插件實現的。 Redis 是一個強大的內存數據結構存儲,可以用作數據庫。 Memcached 是一個分佈式對象緩存系統。 它們都是在該級別進行緩存的絕佳選擇。

您需要訪問 PHP 的配置才能啟用 PHP 對象緩存。 您還需要訪問 Redis 或 Memcached 實例。

參考

  • Redis WordPress 插件
  • Memcached WordPress 插件
  • Redis 文檔
  • 內存緩存維基

MySQL 查詢緩存

這是相同的想法,但它應用於數據庫級別。 數據庫根據輸入的查詢返回一組數據。 如果您可以緩存這些查詢的結果,那麼下次有人使用該查詢時,他們將更快地獲取數據,因為它們將緩存在內存中。

為此,您將需要訪問數據庫服務器。

參考:MySQL 8.0 查詢緩存

為了正確設置和維護所有這些,需要做很多事情。 如果您缺乏經驗,技術知識、時間甚至金錢。 但我們可以幫助解決所有這些問題。

我們如何使用 Pressidium 的多層緩存解決所有問題。

答案很簡單。 我們在所有地方都實現了緩存:在 WordPress 的所有層上。

對於 HTML 輸出,我們實現了兩層緩存, hot 和 warm 。 這些層是我們自適應緩存引擎的一部分。 我們的引擎還可以分析您的站點並執行最有效的緩存規則。 但是,我們將在另一篇文章中詳細介紹這一點。 所以熱緩存是駐留在內存中並且可以快速訪問的數據。 暖緩存是駐留在最先進的 SSD 磁盤中的數據。 這會提高整體緩存命中率,並使您的站點的性能明顯優於傳統存儲。

對於我們的企業客戶,我們使用出色的內存數據結構存儲 Redis 構建了一個對象緩存系統。 最後,MySQL 查詢緩存。 這是默認啟用的,並由我們的 DevOps 持續監控。 MySQL 查詢緩存可以為您提供有關網站性能的寶貴信息。

需要注意的是,所有這些都是在我們平台的後端實現的,而不是通過一些 WordPress 緩存插件。 這意味著a) 我們使用外部服務器進行存儲,因此我們不會對您的網絡服務器資源造成負擔,並且 b) 我們將數據存儲在內存中,其訪問速度比磁盤快。

無論您的緩存需求和預算如何,我們都可以提供。