TERM 004
Cache
同じ仕事を減らして、応答を速くする
Cacheは、取得や計算に時間がかかる結果を一時保存し、次回から近い場所で再利用する仕組みです。ブラウザ、CDN、アプリ、データベースなど複数の層に置かれます。
よく使うデータを近くに置き、応答を速くする仕組みの全体像。
CONTENTSこの記事の目次+
QUICK OVERVIEW
30秒でつかむ
何を同一とみなすか
URL、利用者、言語など結果を分ける条件をキーへ含めます。
いつまで使うか
鮮度と負荷のバランスを有効期限で調整します。
いつ捨てるか
元データ更新時に古い複製を無効化する経路を設計します。
01 — DEFINITION
Cacheとは
何か
Cacheは、取得や計算に時間がかかる結果を一時保存し、次回から近い場所で再利用する仕組みです。ブラウザ、CDN、アプリ、データベースなど複数の層に置かれます。
02 — HOW IT WORKS
仕組みを
3段階で見る
細部へ入る前に、入力から結果までの役割を順番に捉えます。
保存済みを探す
キーに対応する有効な結果があるか確認する。
→再利用か取得を選ぶ
あれば返し、なければ元の処理を実行する。
→次回のために保存
結果と有効期限をキャッシュへ格納する。
Cacheを理解するときの、最小の処理単位です。
03 — ESSENTIALS
押さえるべき
3つの要点
名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。
何を同一とみなすか
URL、利用者、言語など結果を分ける条件をキーへ含めます。
いつまで使うか
鮮度と負荷のバランスを有効期限で調整します。
いつ捨てるか
元データ更新時に古い複製を無効化する経路を設計します。
04 — REAL WORLD EXAMPLE
商品一覧の応答を高速化する
アクセスのたびに同じ集計SQLを実行すると、データベースへ負荷が集中します。
- 01
検索条件からキャッシュキーを作る
- 02
保存済み一覧があれば即座に返す
- 03
なければSQL結果を短時間保存する
05 — WATCH OUT
理解するときの
注意点
便利な仕組みほど、守備範囲と失敗の前提を明確にします。
古い情報を返す可能性がある
正確な残高など鮮度が重要な値は、キャッシュ範囲と期限を慎重に決めます。
利用者別データを混ぜない
認証状態や権限で変わる応答を共通キーにすると、情報漏えいにつながります。
IN ONE SENTENCE
Cacheとは?
よく使うデータを近くに置き、応答を速くする仕組み。
