0

私は小さな検索エンジンに取り組んでおり、クエリ結果をキャッシュする方法を見つけようとしています。これらの結果は、ajax リクエストを使用して取得された単純な JSON テキストです。

結果をメモリに保存することはできません。次の 2 つのオプションが残っていることがわかります。

  • nosql データベースを使用して、キャッシュされた結果を取得します。
  • 結果が既にキャッシュされている場合は、結果を CDN に保存し、http 要求 (307 - 一時リダイレクト) をリダイレクトします。

しかし、私は CDN の経験があまりないので、CDN を大量の一時的な小さなテキスト ファイルに使用するのが良い方法なのかどうか疑問に思っています。ajaxリクエストでリダイレクトを使用するのは良い習慣ですか? CDN は小さなテキスト ファイルをキャッシュするための適切なソリューションですか?

4

1 に答える 1

0

簡単な答え:いいえ。

長い:通常、CDNを世界中にミラーリングする大きな静的ファイルにCDNを使用するため、ユーザーが要求したときに近くに表示されます。大幅に変更されるデータがある場合、CDNのすべてのノードに変更を伝播するのに常に時間がかかります。その間、ユーザーは一貫性のない結果を取得します(これはあなたにとって重要な場合とそうでない場合があります)。

また、待ち時間が長くなるのを避けるために、HTTPリダイレクト(クライアントに別の場所に2番目のリクエストを行うように指示する)を使用せず、キャッシュからデータを取得するか、側のエンジンからデータを取得するかを判断します(たとえば、キャッシングプロキシまたはロードバランサー)を使用して、クライアントに直接提供します。

于 2013-01-29T08:27:37.777 に答える