キャッシュとは
概要
キャッシュ (cache) は、一度取得したデータのコピーを手元に保存しておき、同じデータが再度必要になったときにオリジナルを取りに行かずにコピーを使う仕組みである。語源はフランス語の「隠し場所」で、データを素早く取り出せる場所に隠しておくイメージである。Web ブラウザ、スマートフォンアプリ、CDN、データベースなど、コンピュータのあらゆる層でキャッシュが活用されている。
ブラウザキャッシュの仕組み
Web サイトを訪問すると、ブラウザは HTML、CSS、JavaScript、画像などのファイルをダウンロードして画面を表示する。ブラウザキャッシュは、これらのファイルをローカルに保存し、次回の訪問時にはサーバーからダウンロードせずに保存済みのファイルを使う。これにより、ページの表示速度が大幅に向上し、通信量も削減される。
キャッシュの有効期限はサーバーが指定する。画像や CSS のように頻繁に変わらないファイルは長い有効期限 (数日から 1 年) が設定され、API のレスポンスのように常に最新であるべきデータはキャッシュしないか、極めて短い有効期限が設定される。
キャッシュが原因のトラブルと対処法
「Web サイトを更新したのに古い内容が表示される」というトラブルの原因は、ほとんどの場合ブラウザキャッシュである。ブラウザが古いファイルのコピーを使い続けているため、サーバー上の最新ファイルが反映されない。
対処法は「キャッシュのクリア」である。ブラウザの設定画面から「閲覧データの削除」を選び、「キャッシュされた画像とファイル」を削除する。より手軽な方法として、Ctrl+Shift+R (Mac では Cmd+Shift+R) でスーパーリロードを行うと、キャッシュを無視してサーバーから最新のファイルを取得できる。質問箱の表示がおかしい場合も、まずキャッシュクリアを試すと解決することが多い。
アプリのキャッシュとストレージ
スマートフォンアプリもキャッシュを使用する。SNS アプリは閲覧した画像や動画をキャッシュに保存するため、時間が経つとキャッシュのサイズが数 GB に膨らむことがある。「スマホの容量が足りない」という場合、アプリのキャッシュ削除で大幅に空き容量を確保できることがある。
iPhone では「設定 > 一般 > iPhone ストレージ」から各アプリの使用容量を確認できる。Android では「設定 > ストレージ」または各アプリの情報画面から「キャッシュを削除」を実行できる。キャッシュを削除してもアカウント情報やログイン状態は失われないため、安心して実行してよい。ただし、次回アプリを開いたときにデータの再ダウンロードが発生するため、一時的に表示が遅くなる場合がある。
Web 技術の仕組みを体系的に学びたい方は、Web 技術の入門書籍も参考になります。