キャッシュ
きゃっしゅ
Cache
一言でいうと
一度計算・取得した結果を一時保存しておき、次回以降の高速化に使う仕組みのこと。
詳しい意味
キャッシュは、一度計算・取得した結果を一時的に保存しておき、次に同じものが必要になった時に再計算・再取得せずに済ませる仕組みです。Webブラウザの画像キャッシュ、CDNでの静的ファイルキャッシュ、Redis などのインメモリキャッシュ、データベースのクエリ結果キャッシュなど、レイヤーごとに様々なキャッシュがあります。性能改善の最強の武器ですが、「古いキャッシュが返って表示が古いまま」「キャッシュ無効化が難しい」(古典的な格言『コンピュータサイエンスの難題は2つ: キャッシュ無効化と命名』)など、運用の難しさも有名です。
何に使うか
同じ計算を何度も繰り返すのを避けたいとき。DBアクセスを減らしてレスポンスを速くしたいとき。外部API呼び出しの回数を抑えたいとき。
どんな時に出るか
「キャッシュを効かせる」「キャッシュをパージ(消す)」「キャッシュヒット率」といった場面で登場します。
具体例
- 高頻度参照のデータをRedisにキャッシュして、DB負荷を90%削減した。
- デプロイ後にキャッシュをパージしないと、古いJSが配信され続ける。
別名・略称
cache(きゃっしゅ)キャッシング(きゃっしんぐ)
初心者向けメモ
頻繁に作る料理を「冷蔵庫に作り置きしておく」のと同じです。毎回ゼロから作るより速いし、調味料も節約できます。ただし古くなったら使えないので、適切に作り直しが必要です。