Azure Distributed Caching の使用を開始したいと考えており、LocalCache の概念に出会いました。しかし、それが分散キャッシュと同期しなくなる可能性があるという事実は、なぜそれを使用したいのか、どうすれば安全に使用できるのか疑問に思います.
有効にすると、キャッシュ クラスタから取得したアイテムがクライアント マシンのメモリにローカルに保存されます。これにより、後続の get 要求のパフォーマンスが向上しますが、ローカルにキャッシュされたバージョンとキャッシュ クラスター内の実際のアイテムとの間でデータの不整合が生じる可能性があります。
DataCache.GetIfNewer を呼び出すことは、確実に最新バージョンを取得するための 1 つのオプションですが、2 つのバージョンが異なるかどうかを確認するために、確認したいオブジェクトを渡して分散キャッシュを呼び出す必要があります。
通知を使用して LocalCache オブジェクトを無効にすることもできますが、これはポーリング ベースで行われるため、ポーリング期間内に更新が発生する可能性があり、古いデータが残ることになります。
では、なぜ LocalCache を使用する必要があるのでしょうか? また、そうする理由がある場合、安全に使用するにはどうすればよいでしょうか?