新增快取以改善 Azure API 管理的效能 \(部分機器翻譯\)

適用於:開發人員 |基本 |基本 v2 |標準 |標準 v2 |進階版

可以使用回應快取設定 API 和 API 管理中的作業。 回應快取可大幅降低 API 呼叫端的延遲,以及 API 提供者的後端負載。

重要

內建快取具揮發性,且相同區域的所有單位共用相同的 API 管理服務。 不論所使用的是什麼快取類型 (內部或外部),如果快取相關作業因為快取的變動或任何其他原因而無法連線到快取,則使用快取相關作業的 API 呼叫不會引發錯誤,且快取作業會順利完成。 在讀取作業的情況下,Null 值會傳回給呼叫原則運算式。 您的原則程式碼應該設計為確保有「後援」機制,可擷取快取中找不到的資料。 如需快取的詳細資訊,請參閱 API 管理快取原則在 Azure API 管理中自訂快取

快取原則

您將學到什麼:

  • 為您的 API 新增回應快取
  • 驗證快取的運作方式

注意

內部快取不適用於 Azure API 管理的 [耗用量] 層。 您可以改用外部 Azure Redis 快取。 您也可以在其他 API 管理 服務層級中設定外部快取。

必要條件

完成本教學課程:

新增快取原則

根據此範例中顯示的快取原則,對 GetSpeakers 作業的第一個要求會從後端服務傳回回應。 此回應會被快取,並依指定的標頭和查詢字串參數來識別。 後續使用相符的參數呼叫此操作時,將傳回快取的回應,直到快取期間間隔到期為止。

  1. 登入 Azure 入口網站

  2. 瀏覽至您的 APIM 執行個體。

  3. 選取 [API] 索引標籤。

  4. 按一下 API 清單中的 [示範會議 API]

  5. 選取 GetSpeakers

  6. 選取畫面頂端的 [設計] 索引標籤。

  7. 在 [輸入處理] 區段中,按一下 </> 圖示。

    程式代碼編輯器

  8. 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>
    
  9. outbound 元素中,新增下列原則:

    <cache-store duration="20" />
    

    [持續期間] 指定快取回應的到期間隔。 在本範例中,間隔為 20 秒。

提示

如果您使用外部快取 (如在 Azure API 管理中使用外部 Azure Redis 快取所述),則可以指定快取原則的 caching-type 屬性。 如需詳細資訊,請參閱 API 管理快取原則

呼叫作業和測試快取

若要瞭解快取的運作方式,請從開發人員入口網站呼叫此作業。

  1. 在 Azure 入口網站中,瀏覽至您的 APIM 執行個體。
  2. 選取 [API] 索引標籤。
  3. 選取您已新增快取原則的 API。
  4. 選取 GetSpeakers 作業。
  5. 按一下右上方功能表中的 [測試] 索引標籤。
  6. 按 [傳送] 。

後續步驟