什么是緩存以及為什么它很重要?如何在WordPress中使用對(duì)象緩存?

      不可能高估緩存對(duì)網(wǎng)站性能的影響。然而,有多種不同類型的緩存,以及多種緩存解決方案可供選擇。這意味著許多 WordPress 用戶不確定從哪里開(kāi)始緩存,甚至不確定他們是否需要緩存。

      什么是緩存以及為什么它很重要?如何在WordPress中使用對(duì)象緩存?-南華中天

      快速的網(wǎng)站對(duì)于提供出色的用戶體驗(yàn)至關(guān)重要 - 它可以提高您的搜索引擎排名并推動(dòng)轉(zhuǎn)化。雖然緩存可能有點(diǎn)技術(shù)性,但它也可以幫助您實(shí)現(xiàn)所有這些目標(biāo),甚至更多。

      在本文中,我們將為您的 WordPress 網(wǎng)站揭開(kāi)緩存的神秘面紗。我們將探索什么是緩存,以及各種可用的選項(xiàng)。然后,我們將深入探討一種不太常討論的緩存解決方案,但可以為您的 WordPress 網(wǎng)站帶來(lái)真正的好處。讓我們開(kāi)始吧!

      什么是緩存(以及為什么它很重要)

      默認(rèn)情況下,只要有人登陸您的網(wǎng)站,他們的瀏覽器就會(huì)向您的服務(wù)器發(fā)送對(duì)該頁(yè)面的請(qǐng)求。然后服務(wù)器處理這個(gè)請(qǐng)求,編譯頁(yè)面,并將它發(fā)送回瀏覽器。

      如果您的網(wǎng)站流量相對(duì)較低,您的服務(wù)器可能能夠處理每個(gè)請(qǐng)求,而不會(huì)對(duì)您網(wǎng)站的性能產(chǎn)生明顯影響。但是,隨著站點(diǎn)的增長(zhǎng),您的服務(wù)器將不得不更加努力地工作以處理越來(lái)越多的請(qǐng)求。這可能會(huì)開(kāi)始影響您網(wǎng)站的性能。

      緩存是將經(jīng)常訪問(wèn)的數(shù)據(jù)存儲(chǔ)在臨時(shí)緩存中的過(guò)程。每次訪問(wèn)者請(qǐng)求此數(shù)據(jù)時(shí),都會(huì)從緩存而不是服務(wù)器提供該數(shù)據(jù)。這減少了后者的壓力。

      如果數(shù)據(jù)尚未緩存,則請(qǐng)求將發(fā)送到服務(wù)器。但是,在返回瀏覽器的過(guò)程中,該數(shù)據(jù)的副本將存儲(chǔ)在緩存中。這確保下次有人請(qǐng)求此內(nèi)容時(shí)緩存副本可用。

      緩存可以提高您網(wǎng)站的性能,即使在流量很大時(shí)也是如此。這樣可以更輕松地?cái)U(kuò)展您的網(wǎng)站,并處理意外的流量高峰。

      什么是緩存以及為什么它很重要?如何在WordPress中使用對(duì)象緩存?-南華中天

      緩存還可以幫助您通過(guò)更快地交付內(nèi)容來(lái)提供更好的訪問(wèn)者體驗(yàn)。由于訪問(wèn)者在您的網(wǎng)站上獲得了積極的體驗(yàn),他們更有可能采取積極的行動(dòng),例如訂閱您的時(shí)事通訊或購(gòu)買產(chǎn)品。這有望提高您的轉(zhuǎn)化率和收入。

      谷歌等搜索引擎也使用頁(yè)面速度作為排名因素。這意味著緩存可以對(duì)您的搜索引擎優(yōu)化(SEO) 產(chǎn)生積極影響。在 Google 的結(jié)果中僅上升一個(gè)位置就可以將您的點(diǎn)擊率(CTR) 提高 53% 以上,從而使 SEO 成為擴(kuò)大受眾的重要方式。

      不同類型的緩存(及其好處)

      有多種緩存解決方案供您選擇。雖然它們通常遵循相同的一般原則,但具體的解決方案在實(shí)踐中可能會(huì)有所不同。

      使用一些緩存解決方案,數(shù)據(jù)會(huì)在他們第一次訪問(wèn)您的網(wǎng)站時(shí)本地存儲(chǔ)在他們的計(jì)算機(jī)上。在隨后的訪問(wèn)中,這些數(shù)據(jù)可以從他們的本地存儲(chǔ)中加載。這將提高頁(yè)面加載速度。然而,俗話說(shuō),你永遠(yuǎn)不會(huì)有第二次機(jī)會(huì)給人留下第一印象!如果訪問(wèn)者的第一印象是一個(gè)緩慢、反應(yīng)遲鈍的網(wǎng)站,他們就不太可能再次訪問(wèn)。

      其他解決方案提供存儲(chǔ)站點(diǎn)緩存版本的外部位置,最著名的是內(nèi)容交付網(wǎng)絡(luò)(CDN)。這些位置通常是物理分布的,為您的全球受眾提供方便的本地訪問(wèn)點(diǎn)。訪問(wèn)者的瀏覽器將從物理上離他們最近的訪問(wèn)點(diǎn)請(qǐng)求緩存數(shù)據(jù)。與與可能位于數(shù)千英里之外的服務(wù)器通信相比,這通常會(huì)提高您的頁(yè)面加載速度。

      可用的緩存解決方案可能因您構(gòu)建站點(diǎn)的方式而異。例如,如果您使用的是 WordPress 等流行平臺(tái),您將可以訪問(wèn)一系列專用緩存工具。

      一些托管服務(wù)提供商也提供他們自己的緩存解決方案。為了幫助您創(chuàng)建一個(gè)高性能的網(wǎng)站,您可能希望選擇提供緩存作為其托管計(jì)劃一部分的提供商。

      什么是緩存以及為什么它很重要?如何在WordPress中使用對(duì)象緩存?-南華中天

      “對(duì)象緩存”如何改善您的網(wǎng)站

      Memcached被歸類為對(duì)象緩存系統(tǒng)。在我們特別仔細(xì)研究 Memcached 之前,了解一下對(duì)象緩存的概述會(huì)有所幫助。

      作為內(nèi)容管理系統(tǒng) (CMS),WordPress 嚴(yán)重依賴其MySQL 數(shù)據(jù)庫(kù)。這意味著數(shù)據(jù)庫(kù)效率對(duì)于提供高性能的 WordPress 網(wǎng)站至關(guān)重要,尤其是隨著訪問(wèn)您網(wǎng)站的人數(shù)不斷增加。

      每次有人向您的網(wǎng)站發(fā)出請(qǐng)求時(shí),它都會(huì)生成一個(gè)數(shù)據(jù)庫(kù)查詢。如果您的站點(diǎn)收到大量對(duì)數(shù)據(jù)庫(kù)的請(qǐng)求,它可能會(huì)使您的服務(wù)器不堪重負(fù)。這可能會(huì)導(dǎo)致性能下降,甚至可能導(dǎo)致您的網(wǎng)站離線。

      對(duì)象緩存是一種存儲(chǔ)數(shù)據(jù)庫(kù)查詢的服務(wù)器端緩存。下一次請(qǐng)求特定數(shù)據(jù)時(shí),它將從緩存中傳送,而無(wú)需查詢數(shù)據(jù)庫(kù)。這意味著您的服務(wù)器不必每次有人請(qǐng)求特定數(shù)據(jù)時(shí)都重新生成數(shù)據(jù)庫(kù)查詢的結(jié)果。

      您可以使用多種技術(shù)來(lái)存儲(chǔ)對(duì)象緩存。這包括 Memcached,也包括 WordPress 的WP_Object_Cache類。

      WordPress 的內(nèi)置解決方案(以及為什么需要額外的對(duì)象緩存)

      WordPress 有自己的對(duì)象緩存類,稱為WP_Object_Cache。這個(gè)內(nèi)置的對(duì)象緩存解決方案保存了您網(wǎng)站上運(yùn)行的最復(fù)雜和最常用查詢的副本。然后它將這些結(jié)果存儲(chǔ)在數(shù)據(jù)庫(kù)表中。

      通過(guò)這種方式,WP_Object_Cache可確保在針對(duì)類似查詢請(qǐng)求的單個(gè)頁(yè)面加載期間不會(huì)多次查詢數(shù)據(jù)庫(kù)。但是,在每個(gè)請(qǐng)求結(jié)束時(shí),WP_Object_Cache會(huì)丟棄其緩存中的所有對(duì)象。這意味著下次請(qǐng)求頁(yè)面時(shí)必須從頭開(kāi)始構(gòu)建對(duì)象。

      為了獲得最大的性能優(yōu)勢(shì),您需要在多個(gè)頁(yè)面加載之間保留對(duì)象緩存。這稱為持久對(duì)象緩存,因?yàn)閷?duì)象緩存在請(qǐng)求之間持續(xù)存在。

      持久對(duì)象緩存不是一直緩存每個(gè)頁(yè)面或?qū)ο螅鞘鼓軌蚓彺鎸?duì)象一次,并根據(jù)需要提供它們。這使得持久對(duì)象緩存對(duì)于具有大量重復(fù)內(nèi)容的站點(diǎn)尤為重要。有許多適用于 WordPress 的持久對(duì)象緩存解決方案,包括 Memcached。

      什么是緩存以及為什么它很重要?如何在WordPress中使用對(duì)象緩存?-南華中天

      Memcached 簡(jiǎn)介

      Memcached 是一種開(kāi)源持久對(duì)象緩存工具。這實(shí)質(zhì)上意味著 Memcached 存儲(chǔ)對(duì)象,以便它們可以在頁(yè)面加載之間重復(fù)使用。Memcached 將其數(shù)據(jù)保存在讀取訪問(wèn)內(nèi)存 (RAM) 中,這減少了需要讀取數(shù)據(jù)庫(kù)的次數(shù)。

      Memcached 屬于NoSQL系列數(shù)據(jù)管理解決方案,并基于鍵值對(duì)存儲(chǔ)其所有數(shù)據(jù)。這包括 API 調(diào)用和數(shù)據(jù)庫(kù)調(diào)用的結(jié)果。

      Memcached 作為一種持久化對(duì)象緩存解決方案,在頻繁請(qǐng)求同一塊數(shù)據(jù)時(shí)特別有用。例如,您的站點(diǎn)可能包含大量重復(fù)出現(xiàn)的內(nèi)容。當(dāng)生成特定內(nèi)容的成本很高時(shí),Memcached 還可以顯著提升性能。

      除了 WordPress 的內(nèi)置WP_Object_Cache類之外,通過(guò)使用 Memcached,您可以顯著減少站點(diǎn) MySQL 數(shù)據(jù)庫(kù)的壓力。這可以減少您的響應(yīng)時(shí)間和頁(yè)面加載時(shí)間,即使您的網(wǎng)站流量很大。它還可以幫助您的網(wǎng)站管理意外的流量高峰,包括臭名昭著的Reddit“死亡擁抱”。

      Memcached 對(duì)象緩存解決方案的工作原理

      Memcached 使用基于四個(gè)組件的客戶端-服務(wù)器架構(gòu)。第一個(gè)組件是客戶端服務(wù)器,它保留可用 Memcached 服務(wù)器的列表。

      每當(dāng)客戶端-服務(wù)器接收到查詢時(shí),它首先檢查該數(shù)據(jù)是否存在于緩存中。如果數(shù)據(jù)已經(jīng)可用,Memcached 會(huì)在不中斷數(shù)據(jù)庫(kù)的情況下將其返回給客戶端。如果數(shù)據(jù)未緩存,Memcached 會(huì)將請(qǐng)求轉(zhuǎn)發(fā)到數(shù)據(jù)庫(kù)。

      為了幫助分配負(fù)載,典型的 Memcached 實(shí)現(xiàn)由多個(gè)服務(wù)器和客戶端組成。Memcached 使用基于客戶端的散列算法將每個(gè)請(qǐng)求匹配到適當(dāng)?shù)姆?wù)器。

      還有 Memcached 服務(wù)器軟件,它存儲(chǔ)各種對(duì)象的鍵/值組合。這包括 API 調(diào)用、頁(yè)面呈現(xiàn)和數(shù)據(jù)庫(kù)調(diào)用的結(jié)果。Memcached 將這些鍵/值組合存儲(chǔ)在內(nèi)部哈希表中。

      最后,Memcached 有一個(gè)最近最少使用 (LRU) 算法。該算法通過(guò)識(shí)別最近最少使用的對(duì)象來(lái)幫助防止緩存無(wú)限增長(zhǎng)。

      LRU 作用于鏈表。每當(dāng)訪問(wèn)或更新列表?xiàng)l目時(shí),它就會(huì)從列表中刪除并附加到列表頭。這意味著列表底部的條目最近使用的次數(shù)少于列表頂部的條目。每當(dāng) Memcached 需要重用內(nèi)存時(shí),它就會(huì)從列表底部刪除條目。

      在您的 WordPress 網(wǎng)站上使用 Memcached 的好處

      Memcached 存儲(chǔ)數(shù)據(jù)庫(kù)查詢的結(jié)果。因此,無(wú)論何時(shí)訪問(wèn)者再次請(qǐng)求相同的查詢,Memcached 都可以響應(yīng)而無(wú)需處理該查詢。

      通過(guò)這種方式,Memcached 可以顯著提高您網(wǎng)站的性能,并減少頁(yè)面加載時(shí)間。研究表明,40% 的人會(huì)放棄加載時(shí)間超過(guò)三秒的網(wǎng)站。Memcached 可以幫助您避免因頁(yè)面加載時(shí)間緩慢而失去大量受眾。

      快速、響應(yīng)迅速的網(wǎng)站通常還能提供更好的整體訪問(wèn)者體驗(yàn)。由于訪問(wèn)者在您的網(wǎng)站上度過(guò)了愉快的時(shí)光,因此他們更有可能訪問(wèn)多個(gè)頁(yè)面。這會(huì)增加關(guān)鍵性能指標(biāo),例如會(huì)話持續(xù)時(shí)間和訪問(wèn)的頁(yè)面總數(shù)。它還增加了重復(fù)訪問(wèn)和轉(zhuǎn)換的機(jī)會(huì)。

      還有證據(jù)表明搜索引擎使用速度作為主要的頁(yè)面排名因素。通過(guò)減少頁(yè)面加載時(shí)間,Memcached 可以為您的 SEO 做出積極貢獻(xiàn)。這也可以提高您的搜索引擎排名。

      研究表明,Google 的前五個(gè)自然搜索結(jié)果獲得了超過(guò)三分之二的點(diǎn)擊次數(shù)。通過(guò)使用 Memcached 提高網(wǎng)站性能,您可以顯著增加自然流量。

      數(shù)據(jù)庫(kù)必須處理的每個(gè)請(qǐng)求都會(huì)增加服務(wù)器的負(fù)載。在向數(shù)據(jù)庫(kù)發(fā)送請(qǐng)求之前,Memcached 會(huì)檢查其內(nèi)存。如果存在相關(guān)緩存,Memcached 會(huì)在不涉及數(shù)據(jù)庫(kù)的情況下回復(fù)請(qǐng)求。這可以減少服務(wù)器的負(fù)載,從而幫助您的網(wǎng)站處理更大的流量。這包括意外的流量高峰。

      如何在 WordPress 中使用對(duì)象緩存(3 個(gè)簡(jiǎn)單步驟)

      Memcached 位于您的托管服務(wù)器上。鑒于此,在您可以使用 Memcached 之前,您的托管服務(wù)提供商將需要安裝它。我們很高興幫助您啟動(dòng)并運(yùn)行 Memcached。客戶可以通過(guò)客戶門戶打開(kāi)支持票,我們將處理其余的事情。在您的系統(tǒng)上成功安裝 Memcached 后,讓我們看看如何配置它。在本節(jié)中,我們還將展示如何衡量對(duì)象緩存對(duì)您網(wǎng)站的影響。

      1. 獲得績(jī)效基準(zhǔn)

      在啟用 Memcached 之前,獲取性能基準(zhǔn)可能很有用。這使您能夠衡量 Memcached 對(duì)您的 WordPress 網(wǎng)站的影響。

      您可以使用多種平臺(tái)來(lái)衡量網(wǎng)站的性能。但是,GTmetrix提供了網(wǎng)站加載指標(biāo)的詳細(xì)分類。這對(duì)于評(píng)估頁(yè)面加載時(shí)間特別有用。

      要查看您的站點(diǎn)當(dāng)前的運(yùn)行狀況,請(qǐng)轉(zhuǎn)到 GTmetrix 主頁(yè)并輸入您站點(diǎn)的 URL。然后 GTmetrix 將生成一份關(guān)于您網(wǎng)站性能的詳細(xì)報(bào)告。

      該報(bào)告分為幾個(gè)選項(xiàng)卡。Waterfall選項(xiàng)卡顯示您網(wǎng)站上每個(gè)資產(chǎn)如何加載的可視化表示。這包括您的 CSS、HTML、JavaScript、圖像和插件。您可以使用提供的瀑布圖來(lái)分析每個(gè)資產(chǎn)如何影響您網(wǎng)站的加載時(shí)間。

      “歷史”選項(xiàng)卡顯示您站點(diǎn)的歷史性能。您可以使用此選項(xiàng)卡比較啟用 Memcached 前后的頁(yè)面加載時(shí)間。

      雖然您可以免費(fèi)分析您的網(wǎng)站,但也可以使用GTmetrix Pro。此 Pro 軟件包添加了一些額外的功能,包括資源使用情況圖表、每小時(shí)監(jiān)控和報(bào)告的無(wú)限自定義過(guò)濾器。

      2.使用專用插件

      我們通過(guò)我們的A2 優(yōu)化插件提供 Memcached 。這是為您的 A2 托管帳戶配置 Memcached 的最簡(jiǎn)單方法。使用 A2 Optimized,您可以配置 CSS、HTML 和 JavaScript 縮小。您還可以啟用數(shù)據(jù)庫(kù)、對(duì)象和頁(yè)面緩存。

      安裝并激活 A2 Optimized 插件后,導(dǎo)航至Plugins > Installed Plugins。在此頁(yè)面上,找到 A2 Optimized 插件并選擇其附帶的設(shè)置鏈接。

      然后您可以選擇開(kāi)始安裝 > 激活 > 開(kāi)始配置。A2 Optimized 現(xiàn)在將掃描您的網(wǎng)站并提出一些提高網(wǎng)站性能的方法。

      要激活 Memcached,請(qǐng)滾動(dòng)到Memcached部分并選擇Enable。Memcached 現(xiàn)已啟動(dòng)并運(yùn)行,并將開(kāi)始緩存您的數(shù)據(jù)。

      或者,您可以使用W3 Total Cache等緩存插件配置 Memcached 。W3 Total Cache 是一個(gè)與網(wǎng)絡(luò)主機(jī)無(wú)關(guān)的網(wǎng)絡(luò)性能優(yōu)化 (WPO) 框架,它與一系列托管解決方案兼容。這包括共享主機(jī)、專用主機(jī)和虛擬專用服務(wù)器。

      要使用 W3 Total Cache 啟用 Memcached,請(qǐng)激活插件并導(dǎo)航至Performance > General Settings。接下來(lái),打開(kāi)Page cache method下拉菜單,然后選擇Memcached。

      然后,打開(kāi)Minify 緩存方法下拉菜單,并選擇Memcached。最后,打開(kāi)Database cache method下拉菜單,然后選擇Memcached。保存您的更改,Memcached 現(xiàn)在將在您的網(wǎng)站上啟用。

      3. 如何重新測(cè)試您的 WordPress 網(wǎng)站的性能

      激活 Memcached 后,您可能想要測(cè)試網(wǎng)站的性能。這可以幫助您評(píng)估 Memcached 對(duì)關(guān)鍵指標(biāo)的影響,尤其是頁(yè)面加載時(shí)間。您可以重新運(yùn)行 GTmetrix,并使用該工具的歷史選項(xiàng)卡比較結(jié)果。

      通過(guò)重新檢查您網(wǎng)站的性能,您可以確定其他可以改進(jìn)的地方。正如我們之前提到的,有多種緩存方法和各種可用的緩存解決方案。為了進(jìn)一步提高您網(wǎng)站的性能,您可能需要考慮實(shí)施 CDN 或使用專用緩存插件。

      如果您選擇了 A2 Optimized 插件,我們建議您探索它的一些附加功能,尤其是TurboCache。第一次請(qǐng)求頁(yè)面時(shí),TurboCache 會(huì)存儲(chǔ)頁(yè)面 HTML 輸出的靜態(tài)副本。然后服務(wù)器將使用這個(gè)緩存的副本進(jìn)行后續(xù)的頁(yè)面請(qǐng)求,而不是重復(fù)運(yùn)行頁(yè)面的腳本和數(shù)據(jù)庫(kù)查詢。這可以進(jìn)一步提高您網(wǎng)站的性能。

      結(jié)論

      在優(yōu)化您的 WordPress 網(wǎng)站時(shí),緩存起著至關(guān)重要的作用。雖然它看起來(lái)像是一個(gè)技術(shù)主題,但在您的托管服務(wù)提供商的幫助下,您可以獲得高級(jí)緩存解決方案,例如在您的 WordPress 網(wǎng)站上啟動(dòng)并運(yùn)行 Memcached。

      Memcached 是一種駐留在托管服務(wù)器上的緩存機(jī)制。因此,啟用 Memcached 的第一步是聯(lián)系您的托管服務(wù)提供商。一旦他們啟用了 Memcached,您就可以使用優(yōu)化插件來(lái)激活和配置這個(gè)高級(jí)緩存解決方案。

      影響網(wǎng)站性能的因素有很多,包括您選擇的托管服務(wù)提供商。與競(jìng)爭(zhēng)對(duì)手的 WordPress 網(wǎng)絡(luò)托管服務(wù)提供商相比,我們的Turbo 服務(wù)器可以將頁(yè)面加載速度提高多達(dá) 20 倍。當(dāng)與緩存結(jié)合使用時(shí),這可以增強(qiáng)您的 WordPress 網(wǎng)站。