キャッシュ
読み
きゃっしゅ
意味
- 頻繁にアクセスされるデータを高速なストレージ(メモリなど)に一時的に保存し次回以降のアクセスを高速化する技術
- CPUキャッシュ・ブラウザキャッシュ・CDNキャッシュ・アプリケーションキャッシュなど階層的に存在しパフォーマンス最適化の基本戦略
- キャッシュヒット率やTTL(有効期限)・キャッシュ無効化戦略など適切な管理が必要で古いデータを返すリスクもある
比喩
よく読む本を手の届く場所に置いておくようなもの。本棚まで取りに行かなくてもすぐに読めて時間を節約できる。
語源
cache = 隠し場所・貯蔵庫。フランス語のcacher(隠す)が語源
例文
- Redisでデータベースクエリ結果をキャッシュしレスポンスタイムを100ms から 5ms に短縮した
- CDNでウェブサイトの静的ファイルをキャッシュし世界中のユーザーに低レイテンシでコンテンツを配信している
- ブラウザキャッシュを活用してCache-Controlヘッダーで有効期限を設定しリピート訪問時のページ表示を高速化した
よくある勘違い
- キャッシュを永続的なデータ保存だと思うこと → キャッシュは揮発性で元データが更新されたら無効化される
- キャッシュすれば常に高速化すると思うこと → キャッシュヒット率が低いと逆にオーバーヘッドになる
- キャッシュ無効化を考えずに実装すること → 古いデータが返され続けるバグの原因になる