API 結果のキャッシュ¶
このページでは、API 結果(API がレスポンスとして返す JSON データや、そこから得られるアバター画像)をキャッシュして利用する際の指針を説明します。以下の課題を解決するために、キャッシュの実装は重要になります。
課題 | 解決策 |
---|---|
API接続に伴うレイテンシ低下の回避 | レスポンス(JSON)のキャッシュ |
APIの割り当てを超過した利用の回避 | レスポンス(JSON)のキャッシュ |
アクティブでないユーザがMAUに含まれてしまうことの回避 | 画像ファイルのキャッシュ |
Info
キャッシュのためのキャッシュサーバやファイルストレージは自社サーバ側に準備する必要があります。
Info
Webhook を利用すれば、アバターの更新通知を受け取って画像を更新することもできます。Webhook の利用も検討してください。
レスポンス(JSON)のキャッシュ¶
API がレスポンスとして返す JSON データをキャッシュして一定期間再利用します。通常、API は常に最新のデータを返しますが、自社アプリににおいて更新遅延を許容できるケースでは、キャッシュを利用できます。
以下の API は、レスポンスを最大10分間自社サーバ側にキャッシュして利用できます。
Info
Items API は、パラメータに avatarId を指定した場合の結果はキャッシュできません。
Info
アクセス数が割り当てに到達する水準の場合、CDN によるキャッシュを適用させていただくことがあります。この場合、API のレスポンスが最新データより数秒遅延することがあります。
キャッシュする範囲¶
レスポンス(JSON)の全てをキャッシュすることも、アバター画像URLのみなど1部をキャッシュすることもできます。どちらの場合も、キャッシュ期間を10分以下に設定してください。
アバター画像URLのキャッシュ¶
アバター画像URLについては、特別な理由がない限りキャッシュ期間を10秒以内に設定します。10秒を超えてキャッシュする場合、着せ替えたアバターがなかなか自社アプリに反映されず、エンドユーザのUXを損なう可能性があります。
アバター画像ファイルのキャッシュ¶
アクティブでないユーザ(自社アプリの利用を停止しているユーザ)のアバター画像を、API のアクセスなしに利用したいケースがあります。この場合、アバター画像ファイルそのものを自社のストレージにキャッシュして利用できます。