私はMVC3アプリケーションでSystem.Runtime.Caching MemoryCacheを使用してキャッシュを変更することはほとんどありませんが、頻繁にデータにアクセスします。私はabsoluteExpirationを30分に設定しました。これは素晴らしいです。 30分ごとに、アプリケーションはキャッシュ内のデータを期限切れにしてからデータを削除します。System.Runtime.Caching Absolute Expirationはデータを設計通りに削除しますが、非エンプティな有効期限切れのデータ戦略を実装する方法はありますか?
次回データが照会されると、システムはデータベースからキャッシュをリロードします。
しかし、キャッシュを追い出した後にデータベースを一時的に使用できない場合はどうなりますか?これにより、MemoryCacheまたはデータベースのいずれのレコードも使用できなくなります。キャッシュを期限切れにするのが理想的ですが、データを再ロードできると確信するまでデータを退避しないでください。データベースからデータをリロードできない場合は、キャッシュの有効期限を5分程度に延長してもう一度試してみたいと思います。最終的にデータベースが戻ってきます。
私はむしろ、全くデータより少し古いデータを持っているという戦略です。
私の質問は、System.Runtime.Cachingを使用してこのようなキャッシュ戦略を作成する方法についてです。私は、満了時に退去を防ぐことを可能にする出来事は見ません。何か案は?
ありがとうございました。いい物! –