使用 Cloud Storage 內建快取功能進行快取

本頁面說明如何控管 Cloud Storage 物件的快取方式。本頁面著重於 Cloud Storage 內建快取和 Cloud CDN,但 Cloud Storage 也與第三方內容傳遞網路 (CDN) 相容。

總覽

控管 Cloud Storage 物件的快取,提升應用程式效能,並確保內容保持最新狀態。快取物件資料儲存庫會將資料副本儲存在 Google 或網際網路快取中,加快日後的資料讀取要求。Cloud Storage 提供內建快取功能,運作方式與 CDN 類似。您可以透過 Cache-Control 中繼資料管理這項內建快取功能,定義快取儲存物件的方式和時間長度。

如需更進階的控制功能,請搭配使用 Cloud Storage 快取和 Cloud CDN,或瞭解 Rapid Cache。

使用 Rapid Cache 進行快取

Rapid Cache 提供全代管、一律一致的 SSD 支援可用區讀取快取,可在運算資源中與工作負載相同的可用區建立。快取用於加速大型、資料密集型工作負載的資料提供。與直接從多區域 bucket 讀取資料相比,從快取讀取資料的資料移轉費用較低,可讓您最佳化成本。

詳情請參閱「Rapid Cache」。

Cloud Storage 內建快取

Cloud Storage 的運作方式與內容傳遞網路 (CDN) 類似,您不需執行任何操作,因為如果物件的 Cache-Control 中繼資料設為允許快取,且符合下列條件,物件的資料就會快取在 Cloud Storage 網路中:

Cloud Storage 會遵守 Cache-Control 的標準值,例如:

  • public:可以快取物件。

  • private:Cloud Storage 不會快取物件,但物件可以快取在要求者的本機快取中。

  • no-cache:物件可以快取,但必須先經過 Cloud Storage 驗證,才能用於滿足日後的要求。

  • no-store:無法快取物件。

  • max-age=TIME_IN_SECONDS:物件可快取的時間長度,超過這個時間就會被視為過時。您可以將 max-age 設為任何時間長度。除非有特殊情況,否則不會從快取提供過時物件。

如要設定物件的 Cache-Control 中繼資料,請參閱「編輯物件中繼資料」。

使用 IAM 拒絕政策時的內建快取行為

如果組織層級的 IAM 拒絕政策限制主體 ID allUsers的物件讀取存取權,即使 bucket 層級的 IAM 政策授予 allUsers 物件讀取存取權,系統也會停用該物件的內建快取。不過,如果 IAM 拒絕政策僅限制個別使用者,物件仍會啟用內建快取功能。

效能注意事項

可公開快取的物件效能會好得多。如果您是透過單一物件控管多個用戶端,並想停用快取功能來提供最新資料,請採取以下步驟:

  • 建議改為將物件的 Cache-Control 中繼資料設為 public,並將 max-age 設為 15 至 60 秒。大多數應用程式都能容許物件過期幾秒鐘,以換取效能提升。

  • 對物件使用 Cache-Control: no-store,表示不得在任何快取中快取該物件,以供後續要求使用。

Cloud Storage 搭配 Cloud CDN

如要以最佳效能將內容傳遞給使用者,建議搭配使用 Cloud Storage 和 Cloud CDN。相較於單獨使用 Cloud Storage 的快取功能,Cloud CDN 提供更強大的效能、更大的可快取檔案大小,以及快取撤銷等功能。

如要使用 Cloud CDN,必須搭配外部應用程式負載平衡器,並以 Cloud Storage bucket 做為後端。如需透過教學課程瞭解如何使用 Cloud Storage bucket 設定 HTTP(S) 負載平衡器,請參閱「託管靜態網站」。

Cloud CDN 快取模式可讓您對所有物件套用統一的快取設定。Cloud CDN 會根據物件上設定的 Cache-Control 中繼資料,判斷應如何快取物件,除非您使用快取模式或存留時間限制覆寫 Cache-Control 中繼資料。

在 Cloud Storage 內建快取和 Cloud CDN 之間選擇時,請考量功能和定價方面的差異:

功能差異

功能 Cloud Storage Cloud CDN
可快取檔案大小上限 10 MiB 100 GiB 1
預設快取到期時間 1 小時 1 小時 (可設定)
支援透過 HTTPS 使用自訂網域 否 是
快取撤銷 否 是

1如果原始伺服器支援位元組範圍要求,Cloud CDN 可快取的檔案大小上限為 100 GiB。如果原始伺服器不支援位元組範圍要求,Cloud CDN 的可快取檔案大小上限為 10 MiB。

費用考量事項

在定價方面,選擇 Cloud Storage 內建快取或 Cloud CDN,取決於您每月提供的資料量,這會決定您產生的網路費用。

  • 如果您每月提供的可快取資料量不到幾 GiB,那麼使用 Cloud Storage 內建快取功能,整體費用可能會更低。與 Cloud CDN 相比,Cloud Storage 快取可能會產生較高的網路費用,因為系統會對快取和未快取的物件收取相同的傳出資料移轉費用 (也就是說,您要為快取命中支付全額費用)。不過,您只需支付與 Cloud Storage 相關的資料儲存空間和作業使用費用,不必支付 Cloud Storage、Cloud CDN 和 Cloud Load Balancing 的組合費用。

  • 如果您每月定期提供 100 GiB 以上的可快取資料,或需要使用個別要求記錄和自訂標頭,那麼使用 Cloud CDN 整體來說可能更便宜。快取填補會產生 Cloud Storage 輸出資料移轉和 Cloud CDN 快取填補費用,快取填滿後則適用 Cloud CDN 網路價格。使用 Cloud CDN 節省的網路費用,可能足以抵銷維護外部應用程式負載平衡器、Cloud CDN 和 Cloud Storage 所產生的較高營運成本。

後續步驟