適用於:開發人員 |基本 |基本 v2 |標準 |標準 v2 |進階 |進階 v2 |隔離
可以使用回應快取設定 API 和 API 管理中的作業。 回應快取可大幅降低 API 呼叫端的延遲,以及 API 提供者的後端負載。 本文說明如何將快取新增至 API。
- 如需快取的背景資訊和使用情境,請參閱快取概觀。
- 如需使用外部快取的相關資訊,請參閱在 Azure API 管理中使用外部 Redis 相容快取。
- 如需快取的詳細資訊,請參閱 API 管理快取原則和在 Azure API 管理中自訂快取。
重要事項
內建快取是揮發性的,而且會由相同 API 管理實例中相同區域中的所有單位共用。 不論使用的快取類型為何(內部或外部),如果快取相關作業因為快取的波動性或任何其他原因而無法連線到快取,則使用快取相關作業的 API 呼叫不會引發錯誤,而且快取作業會順利完成。 在讀取作業的情況下,Null 值會傳回給呼叫原則運算式。 您的原則程式代碼應該設計成確保有後援機制可擷取快取中找不到的數據。
在本文章中,您將:
- 為您的 API 新增回應快取
- 驗證快取是否正常運作
附註
Azure API 管理的消耗層方案中無法使用內部快取。 您可以改用外部 Azure Redis 快取。 您也可以在其他 API 管理服務層中設定外部快取。
先決條件
新增快取原則
根據此範例中顯示的快取原則,對測試作業的第一個要求會傳回來自後端服務的回應。 此回應會被快取,並依指定的標頭和查詢字串參數來識別。 後續以相同參數進行作業的呼叫會返回快取的回應,直到快取有效時間間隔到期為止。
登入 Azure 入口網站。
移至您的 API 管理實例。
選取左側功能表中的API>API。
選取您要對其設定快取的 API。
在畫面頂端,選取 [ 設計 ] 索引標籤。
在 [ 輸入處理 ] 區段中,選取 </> 圖示:
在
inbound元素中,新增下列原則:<cache-lookup vary-by-developer="false" vary-by-developer-groups="false"> <vary-by-header>Accept</vary-by-header> <vary-by-header>Accept-Charset</vary-by-header> <vary-by-header>Authorization</vary-by-header> </cache-lookup> <rate-limit calls="10" renewal-period="60" />在
outbound元素中,新增下列原則:<cache-store duration="20" />在此原則中,
duration指定快取回應的到期間隔。 間隔為20秒。選取 [儲存]。
秘訣
如果您使用外部快取,如在 Azure API 管理中使用外部 Redis 相容快取中所述,您可能想要指定 caching-type 快取原則的屬性。 如需詳細資訊,請參閱 API 管理快取原則 。
呼叫作業以測試快取功能
若要測試快取功能,請在入口網站中呼叫作業。
- 在 Azure 入口網站中,移至您的 APIM 執行個體。
- 選取左側功能表中的API>API。
- 選取您已新增快取原則的 API。
- 選取要測試的作業。
- 選取視窗頂端的 [ 測試 ] 索引標籤。
- 快速連續選取 [追蹤] 兩次或三次。
- 在 [HTTP 回應] 底下,選取 [追蹤] 索引標籤。
- 跳至 [輸入] 區段並捲動至
cache-lookup原則。 您應該會看到一則類似於以下螢幕擷取畫面中的訊息,該訊息表示快取命中:
相關內容
- 如需快取原則的詳細資訊,請參閱 API 管理原則參考文件中的快取原則。
- 如需使用原則運算式根據索引鍵快取項目的詳細資訊,請參閱 在 Azure API 管理中自訂快取。
- 如需取得更多關於使用外部 Azure Cache for Redis 或是 Azure 受控 Redis 的資訊,請參閱 在 Azure API 管理中使用外部 Redis 相容快取。