キャッシュをクリアしてみて」「キャッシュが残ってるのかも」… スマホやパソコンの調子が悪いとき、ちょこちょこ出てくる言葉。

よく聞くけど何? キャッシュ
図1:よく聞くけど何?「キャッシュ」

そういえば、初めて開くサイトは少し待たされるのに、2回目はパッと開く——あの差の正体も、実はキャッシュ。サーバーの記事ブラウザの記事 の続きとして、ふんわり見ていきます。

キャッシュってなに?

ざっくり言うと、キャッシュは 「一度取り寄せたもののコピーを、手元に置いておく」仕組み です。

キャッシュ=手元の引き出しにコピーを置く
図2:キャッシュ=「また使いそうなもの」を手元の引き出しへ

サイトを開くとき、ブラウザは画像や文章を 遠くのサーバー(倉庫)まで取りに行って います。でも、毎回毎回 遠くまで取りに行くのは大変。

そこで——「また使いそうなものは、コピーを手元の引き出しに入れておこう」。これがキャッシュの発想です。次に同じものが必要になったら、遠くまで行かずに引き出しから出すだけ

なんで「2回目は速い」の?

この引き出しのおかげで、1回目と2回目ではやってることが全然違うんです。

1回目は遠くの倉庫まで、2回目は引き出しから
図3:1回目=倉庫まで取りに行く/2回目=引き出しから出すだけ
  • 1回目:遠くのサーバーまで、画像も文章もぜんぶ取りに行く → 時間がかかる
  • 2回目:使い回せるものは手元の引き出し(キャッシュ)から出すだけ一瞬

→ 「2回目に開くサイトは速い」のは、ブラウザがこっそりコピーを取っておいてくれたから。あなたのスマホやパソコンの中で、毎日起きていることです。

キャッシュは「あちこちに」ある

実はこの「手元に置いておく」工夫、1ヶ所だけじゃなく、道のりのあちこちに仕込まれています。

キャッシュはブラウザ・CDN・サーバーのあちこちにある
図4:手元の引き出し・近所の倉庫・大元の倉庫——何段構えもある
  • ブラウザのキャッシュ手元の引き出し。あなたの端末の中。いちばん速い
  • CDNのキャッシュ近所の倉庫。あなたの近くに置かれた中継拠点(次で説明)
  • サーバー側のキャッシュ = 大元の倉庫の中でも、よく出るものは出口の近くに置いておく

→ どこか1ヶ所でも「手元にあった!」となれば、そのぶん速くなる。Webの速さは、この何段構えの置き場所で支えられています。

CDN:世界中にある「近所の倉庫」

このうち、ちょっと面白いのが CDN(Content Delivery Network)。

CDN=世界中に分散した近所の倉庫
図5:CDN=世界中に置かれた「近所の倉庫」ネットワーク

サイトの大元のサーバーが海外に1つだけだと、日本から見にいくたびに地球の裏まで取りに行くことになって遅い。

そこで CDN は、世界中のあちこちに「コピーを置いた倉庫」を用意しておきます。あなたがサイトを開くと、いちばん近所の倉庫から届けてくれる——だから世界中どこからでも速い。

  • 大元の倉庫は1つでも、コピーは世界中に
  • 読む人は最寄りの倉庫から受け取るだけ

→ 大きなサイトや動画サービスがサクサク見られるのは、だいたいこの仕組みのおかげです。

ちょっと雑学:このサイトも「近所の倉庫」から届いてます

  • 実は、いまあなたが読んでいるこのページも CDN 経由で配信されています
  • ふんわりIT図解の大元のデータは1ヶ所にありますが、コピーが世界中の拠点に置かれていて、あなたの最寄りから届く仕組み
  • 個人サイトでも世界規模の倉庫網が使える——便利な時代です

キャッシュの困った面:「更新したのに古いまま!」

便利なキャッシュですが、たまに困ったことも起こします

引き出しの中身が古いままになることがある
図6:大元は新しくなったのに、引き出しには古いコピーが残ってる

サイトの中身が新しくなっても、あなたの引き出しには古いコピーが残っていることがあります。すると——

  • サイトを開いても、古いページが表示される
  • 「直したはずなのに、変わってない!」が起きる

→ これが「キャッシュが残ってる」状態。だから対処法が「キャッシュをクリア」(引き出しを空にして、最新を取りに行かせる)なんです。スマホやパソコンの不調で最初に試されるのも、これが理由。

ブラウザの「スーパーリロード」(Windows: Ctrl+Shift+R / Mac: Cmd+Shift+R)も、「引き出しを無視して最新を取ってきて」という命令です。困ったら思い出してみてください。

まとめ

キャッシュのすべて、これ1枚で
図7:キャッシュ のすべて、これ1枚で

ふんわり理解チェック

  • キャッシュ=一度取り寄せたもののコピーを「手元に置いておく」仕組み
  • 2回目が速いのは、遠くの倉庫ではなく手元の引き出しから出すだけだから
  • 置き場所は何段構え:ブラウザ(手元)・CDN(近所の倉庫)・サーバー
  • 「更新したのに古いまま」の正体は古いキャッシュ。だから「クリア」で直る

「キャッシュをクリアしてみて」と言われる理由、「2回目は速い」の正体——どちらも手元に置いておくという知恵の表と裏でした。次にサイトが一瞬で開いたら、引き出しの存在をちょっと思い出してみてください 🌱