次の方法で共有


キャッシュを追加して Azure API Management のパフォーマンスを向上させる

適用対象: 開発者 | 基本 | 基本 v2 | 標準 | 標準 v2 | プレミアム | プレミアム v2 | 分離型

API および API Management 内の操作は、応答のキャッシュを使用して構成できます。 応答のキャッシュを使用すると、API の呼び出し元と API プロバイダーのバックエンド読み込みの待機時間を大幅に短縮できます。 この記事では、API にキャッシュを追加する方法について説明します。

重要

組み込みキャッシュは揮発性であり、同じ API Management インスタンス内の同じリージョン内のすべてのユニットによって共有されます。 キャッシュの種類 (内部または外部) に関係なく、キャッシュの揮発性のためにキャッシュ関連の操作がキャッシュに接続できない場合、またはその他の理由で失敗した場合、キャッシュ関連の操作を使用する API 呼び出しでエラーが発生せず、キャッシュ操作が正常に完了します。 読み取り操作の場合は、呼び出し元のポリシー式に null 値が返されます。 ポリシー コードは、キャッシュに見つからないデータを取得するためのフォールバック メカニズムがあることを確認するように設計する必要があります。

キャッシュの詳細については、「API Management のキャッシュ ポリシー」と「Azure API Management のカスタム キャッシュ」を参照してください。

API Management のキャッシュ ポリシーを示すスクリーンショット。

この記事では、次の操作を行います。

  • API の応答キャッシュの追加
  • キャッシュが機能していることを確認する

内部キャッシュは、Azure API Management の 従量課金 レベルでは使用できません。 代わりに外部 Azure Cache for Redis を使用できます。 他の API Management サービス レベルに外部キャッシュを構成することもできます。

前提条件

キャッシュ ポリシーを追加する

この例に示すキャッシュ ポリシーでは、テスト操作に対する最初の要求からバックエンド サービスからの応答が返されます。 この応答はキャッシュされ、指定されたヘッダーとクエリ文字列パラメーターによってキーが設定されます。 一致するパラメーターを持つ操作の後続の呼び出しでは、キャッシュ期間の間隔が切れるまで、キャッシュされた応答が返されます。

  1. Azure portal にサインインします。

  2. API Management インスタンスに移動します。

  3. 左側のメニューで [API>API] を選択します。

  4. キャッシュを構成する API を選択します。

  5. 画面の上部にある [ デザイン ] タブを選択します。

  6. [ 受信処理 ] セクションで、 </> アイコンを選択します。

    ポータルの API Management API を示すスクリーンショット。

  7. 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>
    
  8. outbound 要素で、次のポリシーを追加します。

    <cache-store duration="20" />
    

    このポリシーでは、 duration キャッシュされた応答の有効期限を指定します。 間隔は 20 秒です。

  9. 保存 を選択します。

ヒント

外部キャッシュを使用している場合は、「 Azure API Management での外部 Azure Cache for Redis の使用」の説明に従って、キャッシュ ポリシーの caching-type 属性を指定できます。 詳細については、 API Management キャッシュ ポリシーを 参照してください。

操作を呼び出してキャッシュをテストする

キャッシュをテストするには、ポータルで操作を呼び出します。

  1. Azure portal で API Management インスタンスに移動します。
  2. 左側のメニューで [API>API] を選択します。
  3. キャッシュ ポリシーを追加した API を選択します。
  4. テストする操作を選択します。
  5. ウィンドウの上部にある [ テスト ] タブを選択します。
  6. [トレース] を 2 回または 3 回連続して素早く選択します。
  7. [HTTP 応答] で、[トレース] タブを選択します。
  8. [受信] セクションに移動し、cache-lookup ポリシーまでスクロールします。 次のスクリーンショットのようなメッセージが表示されます。これは、キャッシュ ヒットを示しています。 ポータルで API をテストするときのキャッシュ参照のスクリーンショット。