Send Docs Feedback

Note: Most user interface tasks can be performed in Edge Classic or the New Edge experience. For an overview, getting started topics, and release notes specific to the New Edge experience, see the docs.

Persistence tools in Edge

What's here

Apigee Edge mechanisms for caching and persistence include short-term and long-term persistence. There are policies for response caching and general purpose caching. Use the management API to manage caches.

バックエンドレスポンスキャッシング

Response Cache ポリシーでバックエンドリソースのレスポンスをキャッシュできます。

これは、バックエンドデータが定期的にのみ更新される場合に特に役立ちます。ResponseCache ポリシーは、バックエンドデータソースへの呼び出しを減らすことができます。

ResponseCache ポリシーでは、Edge に特定の HTTP レスポンスキャッシングヘッダーを参照させて、ヘッダーのディレクティブに応じて操作を実行させることもできます。例えば、バックエンドターゲットからのレスポンスで、Edge は Cache-Control ヘッダーをサポートします。特にこのヘッダーは、キャッシュしたレスポンスの最大期間を制御するために使用できます。詳細については、「HTTP レスポンスヘッダーのサポート」を参照してください。

このポリシーは、ユーザーが構成したキャッシュまたはデフォルトで用意されている共有キャッシュのいずれかを使用します。基盤となる共有キャッシュを使用するには、ポリシーの構成時に単に <CacheResource> 要素を省略します。

キャッシュ構成の詳細については、「環境キャッシュの作成と編集」を参照してください。

短期の汎用キャッシュ

汎用キャッシュのためにポリシーを使用すると、プロキシが必要とするオブジェクトを複数のリクエスト/レスポンスセッションにわたって保持することができます。

Populate Cache ポリシーLookupCache ポリシーInvalidateCache ポリシーでは、実行時にキャッシュデータの入力、取得、およびフラッシュを行うことがきます。

例えば、以下の情報を一時的に格納できます。

  • セッション管理のセッション ID
  • 送信呼び出しの資格情報 (API キー、OAuth アクセストークンなど)
  • アプリ用にページ制御が必要とされるレスポンス内容

実行時にキャッシュポリシーは、プロキシ変数とユーザーが指定した構成済みキャッシュの間で値をコピーします。値がキャッシュに格納されるとき、値はユーザーが指定した変数からキャッシュにコピーされます。キャッシュから値が取得されるとき、プロキシで使用するために値は変数にコピーされます。

コードを含む例については、「例 : 汎用キャッシュの使用」を参照してください。

これらのポリシーは、ユーザーが構成したキャッシュまたはデフォルトで用意されている共有キャッシュのいずれかを使用します。基盤となる共有キャッシュを使用するには、ポリシーの構成時に単に <CacheResource> 要素を省略します。

キャッシュ構成の詳細については、「環境キャッシュの作成と編集」を参照してください。

Edge 上で実行中の Node.js アプリから HTTP 呼び出しを行うのに必要な SSL 証明書をキャッシュする方法について疑問がある場合は、 Apigee Community post の提案を参照してください。  

Long-term persistence of key/value data

Edge offers a couple of options for long-term persistence of key/value data: key value maps and the Edge secure store (vault).

Key value maps

To indefinitely store structured data either encrypted or unencrypted, you can create and populate key value maps (KVMs) that contain arbitrary key/value pairs. For example, you might store:

  • IP アドレスを国コードに関連付けるマップ
  • ホワイトリスト/ブラックリストの IP アドレスリスト
  • 長い URL を短縮形の URL に関連付けるマップ
  • Environment-specific data, such as quota counts and OAuth token expiration times.

KVMs can have one of three scopes: organization, environment, apiproxy. For example, if key/value pairs are to be used for all APIs in an organization, create a KVM at the organization scope; or if only a specific API proxy should have access to keys/values, create the KVM at the apiproxy scope. You can create, manage, and retrieve key value maps in a number of ways. For more information, see Working with key value maps.

Edge secure store (vault)

The Edge secure store was the original tool for creating groups (vaults) of encrypted keys/values. While you can still create vaults with the management API and retrieve entries with the apigee-access Node.js module in your API proxy code, encrypted key value maps (previous section) provide additional options for creation and retrieval of encrypted data with the management UI, management API, policies, and Node.js.

Vaults will be deprecated in the future. Before using vaults, consider using encrypted key-value maps (KVMs). After you create a vault, you can retrieve vault data only with Node.js. With KVMs, you can retrieve encrypted values with the Key Value Map Operations policy as well as with Node.js, giving you more flexibility. For more information on KVMs, see Long-term persistence caching.

For more information on vaults, see Using the secure store.

管理 API によるキャッシュの管理

メッセージフロー内のポリシーのスコープ外でキャッシュを作成、更新、削除、クリアしたい場合は、Caches 管理 API を使用できます。

管理 API で Edge の「共有」キャッシュは管理できないことに注意してください。共有キャッシュの詳細については、「キャッシュの仕組み」を参照してください。

 

Help or comments?