コネクテッドコンテンツの応答のキャッシュ
コネクテッドコンテンツの応答は、異なるキャンペーンやメッセージにわたって (同じワークスペース内で) キャッシュして、送信速度を最適化できます。
Braze は、コネクテッドコンテンツの応答を永続的にログに記録または格納しません。コネクテッドコンテンツのコール応答をLiquid 変数として格納することを明示的に選択した場合、Braze では、Liquid 変数をレンダリングしてメッセージを送信するために、これがインメモリでのみ (つまり短い期間の経過後に削除される一時的なメモリに) 格納されます。
キャッシュを防止するには、:no_cache
を指定できます。これにより、ネットワークトラフィックが増加する可能性があります。システムの正常性のトラブルシューティングと監視に役立つように、Braze では、失敗したコネクテッドコンテンツの呼び出し (404
や 429
など) をログに記録することもできます。これらのログは最大30日間保持されます。
デフォルトのキャッシュ設定
キャッシュ存続期間は最大5分 (300秒) です。コネクテッドコンテンツの呼び出しに :cache_max_age
パラメーターを追加することで、この動作を更新できます。例は次のとおりです。
1
{{ {% connected_content [https://example.com/webservice.json] :cache_max_age 900 %}}}
GET リクエストがキャッシュされます。コネクテッドコンテンツの呼び出しに :no_cache パラメーターを追加することで、この動作を設定できます。
POST リクエストはキャッシュされません。コネクテッドコンテンツの呼び出しに :cache_max_age パラメーターを追加することで、この動作を強制的に適用できます。最小キャッシュ時間は5分、最大キャッシュ時間は4時間である。
キャッシュ設定は保証されません。キャッシュによってエンドポイントへの呼び出しが減ることがあります。このため、キャッシュに過度に依存するのではなく、キャッシュ期間内にエンドポイントごとに複数の呼び出しを使用することをお勧めします。
キャッシュサイズの制限
コネクテッドコンテンツの応答本文の最大サイズは1 MBです。1 MB を超える応答本文はキャッシュされません。
キャッシュ時間
コネクテッドコンテンツは、GET エンドポイントから返される値を最低5分間キャッシュします。キャッシュ時間が指定されていない場合、デフォルトのキャッシュ時間は5分である。
コネクテッドコンテンツのキャッシュ時間を長く設定できます。このためには、次の例に示すように :cache_max_age を使用します。最小キャッシュ時間は5分、最大キャッシュ時間は4時間である。コネクテッドコンテンツデータは、Memcachedなどの揮発性キャッシュシステムを使用してインメモリでキャッシュされます。
その結果、指定されたキャッシュ時間に関係なく、コネクテッドコンテンツデータは指定された時間よりも早く Braze のインメモリキャッシュから削除される可能性があります。これは、キャッシュ期間が提案であり、実際にBrazeによってデータがキャッシュされる期間を保証するものではないことを意味します。また、指定されたキャッシュ期間で予想されるよりも多くのコネクテッドコンテンツリクエストが発生する可能性があります。
指定秒間のキャッシュ
この例は900秒(または15分)キャッシュされます。
1
{% connected_content https://example.com/webservice.json :cache_max_age 900 %}
キャッシュバスティング
コネクテッドコンテンツによる、GET リクエストからの戻り値のキャッシュを防ぐには、:no_cache
構成を使用します。ただし、Braze 内部のホストからの応答は引き続きキャッシュされます。
1
{% connected_content https://example.com/webservice.json :no_cache %}
このオプションを使用する前に、指定したコネクテッドコンテンツのエンドポイントが集中的な大量のトラフィックを処理できることを確認してください。そうしないと、Brazeがすべてのメッセージについてコネクテッドコンテンツのリクエストを行うため、送信遅延の増加 (リクエストから応答までの遅延や時間間隔の増加) が発生する可能性があります。
POST では、キャッシュバスティングを行う必要はありません。これは、Braze は POST リクエストの結果をキャッシュすることがないためです。
知っておくべきこと
- キャッシュは、コネクテッドコンテンツの呼び出しの重複を削減するのに役立ちます。ただしユーザーあたりのコネクテッドコンテンツ呼び出しが1回になるとは限りません。
- コネクテッドコンテンツのキャッシュは、URL とワークスペースに基づいて行われます。コネクテッドコンテンツ呼び出しの呼び出し先が同一の URL であれば、キャンペーンやキャンバス間でキャッシュすることができます。
- キャッシュはユーザー ID やキャンペーンではなく、ユニーク URL に基づいて行われます。つまり、キャッシュされたコネクテッドコンテンツ呼び出しは、URL が同じであれば、ワークスペース内の複数のユーザーやキャンペーンで使用される可能性があります。