😀

キャッシュへのアクセスパターン(2種)のまとめ

2024/12/02に公開

キャッシュ制御の設計を実施する機会があったので、調べた内容を簡単にまとめておきます。今回調べた制御手法は以下の2つの手法です

  • Lazy Loading
  • Write Through

私は読み込み対象のデータに偏りが大きいと判断したのでLazy Loadingを採用することにしました。

比較

Lazy Loading Write Through
キャッシュ容量 少ない 多い(全てのデータ(アクセス頻度が少ないデータを含む)をキャッシュする)
処理負荷 効率的(アクセス頻度の低いデータのキャッシュは作成しない) 非効率(読み込まれないデータもキャッシュする)
キャッシュミス 発生する ない
データ鮮度 キャッシュ保持期間に依存
(時間等でキャッシュ破棄の管理必要)
古くなることは無い
レイテンシ
(書き込み)
影響なし キャッシュ更新時間が発生
(設計依存)
レイテンシ
(読み込み)
キャッシュミス時に時間がかかる 高速

手法別の処理フロー

Lazy Loading
(まずキャッシュを読む⇒なければオリジナル読む⇒結果をキャッシュに書く)

書き込み時

読み込み時

Write Through
(常にキャッシュにも書き込む)

書き込み時

クライアントによる書き込み
ソース更新に連動

読み込み時

自分用のメモですが、誰かの参考になれば幸いです。
以上です。

Discussion