【リードスルーキャッシュ】
Read-Throughキャッシュ とは?
最終更新:
💡 見つからないデータの取得を、キャッシュ側に任せる
読みたいデータがキャッシュにないとき、キャッシュ側のローダーがデータの取得元から読み込み、保存して返す方式。アプリはキャッシュへ読み取りを依頼する。
📌 このページのポイント
- 読み取りでデータがなければ、ローダーが取得元へ問い合わせる
- Cache-Asideではアプリ側が取得とキャッシュへの保存を行う
- 事前投入や有効期限・削除の状況で、取得元へ読むタイミングが変わる
- 読み取り方式だけで、データの鮮度や書き込みの扱いは決まらない
Read-Throughって、何を任せるの?
データがなかったらどうなる?
Cache-Asideとはどこが違うの?
最初のアクセスは必ずDBを読む?
必ずではないよ。事前にデータを入れたり、別の利用者の読み取りで既に保存されていたりすることもある。逆に一度読んでも、有効期限や削除などでキャッシュから消えれば、また取得元へ読む必要があるね。
何度も読むデータなら速くなる?
保存したデータを再利用できれば、取得元への問い合わせを減らせるよ。ただし効果は再利用の頻度や保持できる量による。ローダーの接続やエラー処理も設計しよう。キャッシュを使えば必ず速くなるという保証ではないんだ。
元のデータが更新されたら、いつも最新になる?
Read-Throughだけでは決まらないよ。キャッシュに残る古い値をいつ捨てるか、更新をどう反映するかは別に考える。読み取りのたびに取得元を読み直す方式ではないので、必要な鮮度に合う更新・有効期限の設計が大切だね。
📖 おまけ:英語の意味
「Read-Through Cache」 = 読み込みスルーキャッシュ
💬 Readは読む、Throughは通してという意味。読み取りをキャッシュへ依頼し、データがないときはキャッシュ側が取得元から読み込む方式だよ。