PUBLIC
WEBキャッシュ6 MIN READ

TERM 004

Cache

同じ仕事を減らして、応答を速くする

Cacheは、取得や計算に時間がかかる結果を一時保存し、次回から近い場所で再利用する仕組みです。ブラウザ、CDN、アプリ、データベースなど複数の層に置かれます。

01LOOKUP保存済みを探す
02HIT / MISS再利用か取得を選ぶ
03STORE次回のために保存
OVERVIEW

よく使うデータを近くに置き、応答を速くする仕組みの全体像。

CONTENTSこの記事の目次

QUICK OVERVIEW

30秒でつかむ

01KEY

何を同一とみなすか

URL、利用者、言語など結果を分ける条件をキーへ含めます。

02TTL

いつまで使うか

鮮度と負荷のバランスを有効期限で調整します。

03INVALIDATION

いつ捨てるか

元データ更新時に古い複製を無効化する経路を設計します。

01 — DEFINITION

Cacheとは
何か

Cacheは、取得や計算に時間がかかる結果を一時保存し、次回から近い場所で再利用する仕組みです。ブラウザ、CDN、アプリ、データベースなど複数の層に置かれます。

02 — HOW IT WORKS

仕組みを
3段階で見る

細部へ入る前に、入力から結果までの役割を順番に捉えます。

INPUTPROCESSOUTPUT
01LOOKUP

保存済みを探す

キーに対応する有効な結果があるか確認する。

02HIT / MISS

再利用か取得を選ぶ

あれば返し、なければ元の処理を実行する。

03STORE

次回のために保存

結果と有効期限をキャッシュへ格納する。

PROCESS

Cacheを理解するときの、最小の処理単位です。

03 — ESSENTIALS

押さえるべき
3つの要点

名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。

01KEY

何を同一とみなすか

URL、利用者、言語など結果を分ける条件をキーへ含めます。

02TTL

いつまで使うか

鮮度と負荷のバランスを有効期限で調整します。

03INVALIDATION

いつ捨てるか

元データ更新時に古い複製を無効化する経路を設計します。

04 — REAL WORLD EXAMPLE

商品一覧の応答を高速化する

アクセスのたびに同じ集計SQLを実行すると、データベースへ負荷が集中します。

SCENARIO / CACHESTEP BY STEP
  1. 01

    検索条件からキャッシュキーを作る

  2. 02

    保存済み一覧があれば即座に返す

  3. 03

    なければSQL結果を短時間保存する

RESULT同じ検索への応答が速くなり、データベースの処理回数も減らせます。

05 — WATCH OUT

理解するときの
注意点

便利な仕組みほど、守備範囲と失敗の前提を明確にします。

01

古い情報を返す可能性がある

正確な残高など鮮度が重要な値は、キャッシュ範囲と期限を慎重に決めます。

02

利用者別データを混ぜない

認証状態や権限で変わる応答を共通キーにすると、情報漏えいにつながります。

IN ONE SENTENCE

Cacheとは?

よく使うデータを近くに置き、応答を速くする仕組み

KEEP EXPLORING

WEBCDN掲載中WEBHTTP掲載中WEBReverse Proxy掲載中