データベースからデータをロードし、主キーを使用してキャッシュする Google グアバ キャッシュがあります。データベースから最終的に作成するオブジェクトは不変であり、オブジェクトを作成するにはいくつかのテーブルにアクセスする必要があります。次のシナリオで何が起こるか:
- スレッド 1: cache.load(10) を呼び出し、値 10 のデータベースの主キーに基づいてキャッシュに値が設定されています。
- スレッド 2: データベース行を主キー 10 で更新するため、cache.invalidate(10) を呼び出します。cache.load(10) が完了する前に無効化が呼び出されます。
load(x)の実行中にinvalidate(x)が呼び出されると、Guava Loading Cacheは何をしますか?