EdgeCache

細節

  • 啟用 Edge Cache 並執行時,App Engine 會傳送一個 age 標頭,其值是自快取響應以來的時間(以秒為單位)。例如,如果到目前為止響應已快取兩分鐘,則響應將包含 age: 120 的標頭。如果沒有傳送 age 標頭,這是一個好的跡象,表明你還沒有使用 Edge Cache。此外,當響應不包含 age 標頭時,表示請求錯過了邊緣快取。
  • Edge Cache 在本地開發環境中不起作用。
  • 不同地區有不同的快取。世界各地都有單獨的快取。例如,來自歐洲的請求可能會遇到快取,而來自澳大利亞的請求可能不會達到 Edge Cache。
  • 即使在同一地區,也有多個快取。例如,來自同一客戶端的兩個連續請求可以接收具有針對 age 報頭的不同值的響應。
  • 在達到最大年齡之前,Google 會從 Edge Cache 中刪除內容。如果資源的請求時間超過 5 分鐘,則尤其如此。
  • Google 會自動傳送 Vary 標頭,其值為 Accept-Encoding,並帶有一些響應。請參閱此文件
  • 如果你還有 Set-Cookie 標頭,App Engine 將不允許你將 Cache-Control 標頭設定為 public。如果有 Set-Cookie 標頭,App Engine 甚至會將 Cache-Control 標頭的值從 public 更改為 private。看到這裡

EdgeCache 的工作原理

EdgeCache 是​​一個反向代理快取,可以儲存特定時間段的資料,只要快取仍然有效,只要看到相同的請求就會快速返回。

以下是來自 App Engine 團隊的視訊中有關 EdgeCache 如何工作的圖表:

EdgeCache 圖

Google Front End 資料中心位於世界各地,可以儲存快取資料,以便在需要時快速返回,而無需執行任何 App Engine 程式碼(在“App Engine 前端”上執行)。

有關反向代理的更多資訊,請參閱此 StackOverflow 答案

現在的情況

不幸的是,目前關於 GAE 的 EdgeCache 的知識狀況非常糟糕。關於這個祕密功能的文件範圍可以在 2011 年的論壇帖子 (現在閱讀!)和 11:11 到 11:35 之間的 24 秒內在 Google 的視訊中找到

更多資源

以下是我們發現的與 App Engine 的 EdgeCache 功能相關的更多資源的列表: