DBへの問い合わせを先にやり、全てのデータが揃った時点で、一括でオンメモリのデータを差し替える • これによってほぼ整合性を担保できる(厳密にはDBの問い合わせタイミングが若干ズレるがそこは許容) • 万一DBの問い合わせが一部失敗した場合は、全てロールバックする • ただし、一時的に使用するメモリが2倍になる 12 アプリ DB A 新キャッシュ DB B DB C キャッシュ アプリ 新キャッシュ キャッシュ 各種DBからデータを取得していく が、全てのデータが揃うまで、既 存のキャッシュは更新しない 全てのデータが揃ったタイミングで既存のキャッ シュを新キャッシュで置き換える (参照が切り替わるだけ ) またキャッシュ参照時には リエントラントロックを かける