C#を使用して.NETでjsonプロキシをキャッシュするための最良の方法を探しています。
私たちが使用しているWebサービスは、IPあたりのヒット数を制限しており、定期的に利用できません。幸いなことに、データはそれほど変動的ではありませんが、変化します。
理想的には、リクエストが有効な場合にのみWeb応答をキャッシュすることです。無効な応答は、http応答コードとjsonコードの2つの要因によって決定されますが、「要求が多すぎます」というエラーは発生しません。
複数の外部リソースと複数のクエリに同じプロキシを使用できるように、プロキシされたURLとクエリ文字列を使用してプロキシリクエストをキャッシュに保存したいと思います。
また、URLが利用できず、キャッシュが空の場合に備えて、リクエストをファイルとしてディスクに保存するか、データベースに保存したいと思います。
提案されたプロセスは次のとおりです。
- クエリ文字列を使用して、結果のキャッシュを確認します
- キャッシュされたバージョンが存在する場合は、それを使用します。そうでない場合は、新しいリクエストを行います。
- 要求が成功した場合は、新しい結果のセットをキャッシュに保存し、結果をディスク、データベース、またはディスクに書き込みます。
- その要求が失敗した場合は、ファイルまたはデータベースのキャッシュバージョンを使用してください。
私はMSDNの記事と他のいくつかのブログ投稿を読みましたが、これを効率的に行う方法について具体的な例を得るのは素晴らしいことです。
ありがとう!