APIエンドポイントキャッシュ

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

APIキャッシュは、重複するAPIリクエストを減らすことでレシピのパフォーマンスを向上させます。

この機能を有効にすると、Workatoはレスポンスを一時的にキャッシュに保存します。 レシピが保持期間内に重複するリクエストを送信した場合、Workatoはエンドポイントを再度呼び出す代わりにキャッシュされたレスポンスを返します。

利点:

  • レシピアクションでのレスポンス時間の短縮
  • 総ジョブ数の削減
  • ジョブ実行時間の短縮
  • アプリケーション間のトラフィックの削減

前提条件

APIエンドポイントキャッシュを使用するには、次の前提条件を満たす必要があります:

制限とクォータ

2xxステータスコードを返す成功したGETリクエストのみをキャッシュできます。

説明制限メモ
最大キャッシュキーサイズ10 kBNA
最大キャッシュエントリ値サイズ10 kBこの制限を超えるリクエストは、成功した場合でもキャッシュされません。この制限を調整するには、Workatoカスタマーサクセスマネージャーにお問い合わせください。
ユーザーIDあたりの最大キャッシュエントリ数10,000エントリ超過した場合、新しいエントリを収容するために、古いものから新しいものの順にエントリがフラッシュされます。この制限を調整するには、Workato Customer Success Managerにサポートを依頼してください。
APIレスポンスとキャッシュの制限100 KBNA

エンドポイントキャッシュの有効化

APIキャッシュを有効にするには、エンドポイントのSettingsタブまたはエンドポイントの作成時に次のフィールドを設定します:

入力フィールド説明
レスポンスをキャッシュAPIキャッシュを有効または無効にします。
Time-to-live期間APIレスポンスをキャッシュに保持する時間を秒単位で入力します。 デフォルト値は600秒(10分)、最大値は3600秒(60分)です。 詳細については、キャッシュの保持セクションを参照してください。
キャッシュキーパラメータキャッシュキーとして使用するパラメーターを選択します。

キャッシュが有効なエンドポイントには、Cache enabledバッジが表示されます:

Cache enabledバッジが表示されたAPIエンドポイント

キャッシュの保持

Time-to-liveフィールドでは、キャッシュが各レスポンスを保持する時間を定義します。

たとえば、保持期間を600秒に設定した場合:

  • 400秒時点のリクエストは、キャッシュ内のレスポンスにアクセスします。
  • 800秒時点のリクエストはエンドポイントを呼び出し、新しいレスポンスをキャッシュに保存して、保持期間を再開します。

各ユーザーIDには、10,000エントリのキャッシュ制限があります。 この制限に達すると、古いエントリがフラッシュされ、新しいエントリ用の領域が確保されます。

キャッシュキー

Cache key parametersフィールドでは、キャッシュキーとして使用するパスパラメーターおよびクエリ文字列パラメーターを定義します。 保持期間中にリクエストがキーと一致した場合、そのリクエストはキャッシュから一致するエントリを返します。

パスパラメーターの例

/users/{id}などのパスパラメーターをキャッシュキーとして設定し、ユーザーのidに基づいてレスポンスを保存できます。

次のリクエストは、ユーザーID12345のキャッシュされたレスポンスが存在する場合にそれを返します:

shell
curl  -X GET https://api.myworkatoexample.com/docs/users/12345 \
      -H 'API-TOKEN: YOUR_TOKEN'
クエリ文字列の例

/users?id={value}などのクエリ文字列をキャッシュキーとして設定し、ユーザーのidに基づいてレスポンスを保存できます。

次のリクエストは、ユーザーID12345のキャッシュされたレスポンスが存在する場合にそれを返します:

shell
curl  -X GET https://api.myworkatoexample.com/docs/users?id=12345 \
      -H 'API-TOKEN: YOUR_TOKEN'

エンドポイントキャッシュの監視

キャッシュされたレスポンスの詳細は、API platform > ログページで確認できます。 キャッシュからレスポンスを取得したリクエストには、Cachedバッジが表示されます。

キャッシュされたエンドポイントデータのクリア

キャッシュされたエントリは、定義した保持期間に基づいて自動的にクリアされます。 次の手順を実行して、エンドポイントのキャッシュ全体を手動でクリアすることもできます:

1

プラットフォーム>API platform>APIコレクションに移動します。

2

クリアするエンドポイントを含むコレクションをクリックします。

3

クリアするエンドポイントで...(詳細)をクリックします。

4

Clear cached responsesをクリックします。 確認モーダルが表示されます。

5

Clear cacheをクリックします。

キャッシュされたエントリの再検証

リクエストにCache-Control: max-age=0ヘッダーを含めることで、キャッシュされたエントリを再検証できます。 例:

shell
curl https://api.myworkatoexample.com/docs/users/12345 \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Cache-Control: max-age=0'

Last updated: