Web緩存的優點,網站緩存的類型

      雖然網站緩存的技術和具體細節可能很復雜,但其基本概念卻非常簡單。這是您的瀏覽器/服務器將文件副本存儲在臨時存儲位置以便更輕松、更快速地訪問的過程。

      Web緩存的優點,網站緩存的類型-南華中天

      例如,您的瀏覽器可能會保存 HTML 文件、圖像和 JavaScript 代碼,以幫助您的網站加載速度更快。網站保存可重復使用的資源,以加快后續請求并從服務器獲取。因此,從技術上講,它是您存儲或服務器存儲中的一個臨時文件,用于更輕松、更快速地瀏覽互聯網。緩存允許您更有效地重新加載以前檢索到的數據。

      當您點擊一個網站時,您的瀏覽器必須下載大量數據才能顯示該網站。下載時間可能會導致頁面加載延遲,這通常是一種緩慢的加載體驗。服務器上的緩存文件使您可以在發出訪問請求后立即訪問網頁。由于緩存,下次訪問網站會快很多。

      • Web 緩存的優點
      • 增強的 Web 響應能力
      • 不間斷的內容訪問
      • 降低網絡成本
      • 可預測的結果
      • 網站緩存的類型
      • 代理緩存(服務器緩存)
      • 瀏覽器緩存
      • 其他緩存機制
      • 數據庫緩存
      • 操作碼緩存
      • CDN緩存
      • 緩存清除

      Web 緩存的優點

      增強的 Web 響應能力

      正如我們之前提到的,網絡緩存通過減少服務器往返次數來幫助您的網絡更快地響應。通過將緩存文件存儲在靠近用戶的位置,從網站檢索信息變得更加容易和快捷。

      不間斷的內容訪問

      服務器有時達不到預期。但是,如果該網站之前下載過緩存文件,您將能夠不間斷地訪問這些信息。

      降低網絡成本

      如果您可以實施積極的緩存,您將需要更少的服務器空間。這樣,緩存文件在內容路徑中接近用戶。因此,服務器不會因內容訪問請求而負擔過重,從而降低成本。

      可預測的結果

      對于在特定時間(例如黑色星期五銷售)處理應用程序使用高峰的網站來說,這可能具有挑戰性。如果不做任何準備,網站就會遭受延遲,這會使它們的整體性能變得不可預測。但是,您可以通過執行良好的內存緩存策略來緩解這些問題。

      網站緩存的類型

      代理緩存(服務器緩存)

      服務器緩存提高了所有訪問者的網站性能,而不僅僅是重復訪問者。

      它是這樣工作的:

      當瀏覽器請求網頁時,服務器必須處理該請求。當第一個請求(來自任何用戶)得到滿足時,服務器會“緩存”它并在下一次更快地向任何人提供相同的數據。代理緩存最顯著的優點之一是它允許數百萬用戶同時訪問網站而不會導致網站崩潰。

      在托管服務器之上,有一個 DNS(域名系統)緩存系統。DNS 通常被稱為 Internet 的電話簿。它將 10web.io 等網址連接到托管服務器的 IP 地址,如 28.56.8.252。

      該系統由一系列稱為名稱服務器的服務器運行,這些服務器跟蹤這些地址。緩存名稱服務器(也稱為 DNS 緩存)會在管理員指定的時間內保留有關 DNS 查詢的信息。

      TTL(生存時間)是這個時期的術語,在更改域名或托管服務提供商時需要。

      大多數托管托管服務提供商都預裝了代理服務器緩存。

      雖然有些為您提供了從儀表板啟用/禁用它的選項,但其他人認為您應該保持啟用狀態并且不提供禁用它的選項。最流行的代理服務器緩存選項包括Varn?i?sh和 Nginx。清漆據說是業內最好的選擇。?如果您所在的托管公司在其服務器上沒有代理緩存,您可以請求安裝它。但是,共享主機無法做到這一點,您只能在 VPS 或專用服務器上提出請求。

      瀏覽器緩存

      當您訪問一個網站時,您不僅需要檢索頁面的內容;您還需要大量資源,如 Javascript 文件、樣式表、字體等,除了頁面內容之外,您的瀏覽器還會下載這些資源。

      瀏覽器緩存允許您的瀏覽器將這些文件存儲一段時間,這樣就不需要在您每次訪問該站點時都檢索它們。當用戶訪問您的網站時,瀏覽器會保存一些數據以供稍后顯示,而無需再次聯系您的服務器。結果,瀏覽器緩存加速了您網站的回訪者。

      您可能想知道更新網站時緩存會發生什么。訪問者會繼續看到以前的版本嗎?答案是否定的,如果你做對了就不會。

      大多數網站使用 ETag 和 Expire Tag 來避免這種情況。第一種方法,ETag,是一種令牌,用于將網站的緩存版本與實際服務器上的版本進行比較。當它們不同時,瀏覽器會請求最新的網站版本。

      第二個是 Expire Tag,指定緩存版本何時從瀏覽器中刪除。此標簽由網站所有者/管理員管理,他們選擇更新之間的平均時間。用戶也可以手動清除緩存以避免出現問題。

      如今,瀏覽器緩存由托管公司預先設置,如果沒有,如果您使用的是 WordPress,則始終可以使用第三方插件安裝它們。

      如果您想在沒有插件的情況下啟用它,只需轉到您的 .htaccess 文件并粘貼以下代碼:

      # BEGIN 過期標頭

      <IfModule mod_expires.c>

      # 打開模塊。

      ExpiresActive 于

      # 設置默認到期時間。

      ExpiresDefault “訪問加 2 天”

      ExpiresByType image/jpg “訪問加 1 個月”

      ExpiresByType image/svg+xml “訪問 1 個月”

      ExpiresByType image/gif “訪問加 1 個月”

      ExpiresByType image/jpeg “訪問加 1 個月”

      ExpiresByType image/png “訪問加 1 個月”

      ExpiresByType text/css “訪問加 1 個月”

      ExpiresByType text/javascript “訪問加 1 個月”

      ExpiresByType 應用程序/javascript “訪問加 1 個月”

      ExpiresByType 應用程序/x-shockwave-flash “訪問加 1 個月”

      ExpiresByType 圖像/ico “訪問加 1 個月”

      ExpiresByType 圖像/x 圖標“訪問加 1 個月”

      ExpiresByType text/html “訪問加 600 秒”

      </IfModule>

      # END 過期標頭

      其他緩存機制

      數據庫緩存

      數據庫緩存是一種緩存數據庫結果以便下次更快地返回它們的系統。

      有兩種類型的數據庫緩存:

      內部緩存:根據使用模式,它會準備好它認為您可能需要的東西。你在這件事上沒有發言權。

      查詢緩存:如果您多次進行查詢(例如,針對用戶配置文件),結果將被緩存并從 RAM 而不是磁盤返回。

      當分配的 RAM 耗盡以容納新查詢時,最舊的查詢將被刪除。當基礎數據在表或行/文檔級別發生變化時,緩存將被清除,具體取決于數據庫。

      操作碼緩存

      一種操作碼緩存是 OPcache。這種類型的緩存將 PHP 代碼轉換為您的服務器可以理解的操作碼。當 PHP 文件第一次加載到網頁上時會發生這種情況。然后將信息保存到服務器的內存中,以便在后續頁面訪問時更快地加載。OPcache、APC、Xcache等字節碼緩存引擎都是在PHP文件第一次執行時完成這個過程,不需要再次執行。

      執行 PHP 腳本時,將檢查服務器上的緩存內存以查看腳本是否已被緩存。如果沒有,則解析代碼,這意味著它已被分析。然后腳本被編譯成操作碼,允許服務器讀取文件。之后,操作碼保存在服務器的內存中。換句話說,它緩存在您的服務器上。當訪問者使用 PHP 腳本加載頁面時,緩存代碼的執行和加載速度會快得多。另一方面,如果腳本被加載到頁面上并且檢查緩存中的操作碼并找到它,它會被快速加載。

      CDN緩存

      CDN?(內容分發網絡)由位于世界各地的多臺服務器組成。它們將最常請求的文件緩存在網頁上,當用戶輸入查詢時,最近的服務器會響應準備好顯示的內容。服務器足夠智能,可以識別設備類型、cookie 設置和其他有關用戶的信息,從而只緩存和顯示所需的頁面。CDN 還可以提供唯一且未緩存的動態內容。

      最好和最受歡迎的 CDN 服務是 Cloudflare。最好的部分是 Cloudflare 是免費的。其他一些最好的 CDN 選項是 StackPath 和 Key CDN。所有的選項都可以很容易地與 WordPress 上的一個插件集成。

      緩存清除

      緩存機制生成頁面的靜態 HTML 副本。查看頁面時,它會保存一個靜態 HTML 副本并將該靜態 HTML 副本顯示給您的用戶。因此,它不必每次都從服務器檢索信息。加載頁面時,它可以節省時間和資源。這可以解釋為什么當您更改某個帖子時,您不會立即看到更改;這意味著您仍在查看舊的“副本”,而不是即時從數據庫中檢索到的實時版本。如果清除緩存,下次訪問您的頁面時,它將使用來自服務器的信息生成頁面(原始方法)。然后將重新復制該頁面以創建一個新的靜態 HTML 副本。這種清除緩存的過程通常稱為緩存清除。每次更改網站時清除緩存是一個好習慣。使用 WordPress,只需使用插件即可在每次網站更新(例如,發布或更新帖子)時自動觸發此清除。