キャッシュを追加して Azure API Management のパフォーマンスを向上させる
適用対象: Developer | Basic | Basic v2 | Standard | Standard v2 | Premium | Premium v2
API および API Management 内の操作は、応答のキャッシュを使用して構成できます。 応答のキャッシュを使用すると、API の呼び出し元と API プロバイダーのバックエンド読み込みの待機時間を大幅に短縮できます。
重要
組み込みのキャッシュは揮発性であり、同じ API Management サービスの同じリージョン内のすべてのユニットによって共有されます。 キャッシュの種類 (内部または外部) にかかわらず、キャッシュの揮発性やその他の理由によりキャッシュ関連の操作がキャッシュへの接続に失敗した場合、キャッシュ関連の操作を使用する API 呼び出しでエラーは発生せず、キャッシュ操作は正常に完了します。 読み取り操作の場合は、呼び出し元のポリシー式に null 値が返されます。 キャッシュに見つからないデータを取得するための "フォールバック" メカニズムが確実にあるように、ポリシー コードを設計する必要があります。 キャッシュの詳細については、「API Management のキャッシュ ポリシー」と「Azure API Management のカスタム キャッシュ」を参照してください。
ここでは、次の内容について学習します。
- API の応答キャッシュの追加
- 動作中のキャッシュの確認
Note
内部キャッシュは Azure API Management の従量課金レベルでは利用できません。 代わりに外部 Azure Cache for Redis を使用できます。 他の API Management サービス レベルに外部キャッシュを構成することもできます。
前提条件
このチュートリアルを完了するには、以下が必要です。
キャッシュ ポリシーを追加する
この例に示すキャッシュ ポリシーでは、テスト操作に対する最初の要求により、バックエンド サービスから応答が返されます。 この応答はキャッシュされ、指定されたヘッダーとクエリ文字列パラメーターによってキーが設定されます。 パラメーターが一致する後続の操作の呼び出しに対しては、キャッシュの有効期間が超過するまで、キャッシュに格納された応答が返されます。
Azure portal にサインインします。
API Management インスタンスに移動します。
左にあるメニューから [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>
outbound
要素で、次のポリシーを追加します。<cache-store duration="20" />
このポリシーでは、duration は、キャッシュに入れられた応答の有効期間を指定します。 この例では、間隔は 20 秒です。
ヒント
外部キャッシュを使用している場合は、「Azure API Management で外部の Azure Cache for Redis を使用する」の説明に従って、キャッシュ ポリシーの caching-type
属性を指定する必要がある場合があります。 詳しくは、「API Management のキャッシュ ポリシー」をご覧ください。
操作を呼び出してキャッシュをテストする
動作中のキャッシュを確認するには、ポータルから操作を呼び出します。
- Azure portal で API Management インスタンスを参照します。
- 左にあるメニューから [API] > [API] を選択します。
- キャッシュ ポリシーを追加した API を選択します。
- テストする操作を選択します。
- 右上のメニューの [テスト] タブを選択します。
- [トレース] を 2 回または 3 回連続して素早く選択します。
- [HTTP 応答] で、[トレース] タブを選択します。
- [受信] セクションに移動し、
cache-lookup
ポリシーまでスクロールします。 以下のスクリーンショットのような、キャッシュ ヒットを示すメッセージが表示されます。
関連するコンテンツ
- キャッシュ ポリシーの詳細については、Azure API Management ポリシー リファレンスの「Caching policies (キャッシュ ポリシー)」を参照してください。
- ポリシー式を使ってキーごとにアイテムをキャッシュする方法については、「 Azure API Management のカスタム キャッシュ」を参照してください。
- 外部の Azure Cache for Redis の使用方法について詳しくは、「Azure API Management で外部の Azure Cache for Redis を使用する」をご覧ください。