核心概念

快取

/ KASH /

快取(cache)是把算好的結果存放在又近又快的地方,這樣就不必每次都重做那些慢吞吞的工作。第一次開銷很大——要從遠方的伺服器取資料,或跑一遍繁重的計算——但你把答案存了下來,之後每次直接拿現成的副本就行。

可以把它想成:把每天都用的杯子放在檯面上,而不是每天早上都爬上櫃子頂層去拿。瀏覽器會快取圖片,於是你第二次造訪同一個頁面時它瞬間就載入好了;資料庫會快取常用的查詢,省得反覆重算。

麻煩之處在於「過期」:快取裡的副本可能跟真實資料對不上了。決定什麼時候該把舊副本丟掉,就是所謂的「快取失效(cache invalidation)」——人們半開玩笑地說,它是電腦科學裡兩大難題之一。

# First call: slow, hits the network
GET /api/weather  → 800 ms
# Cached call: fast, served from memory
GET /api/weather  → 2 ms  (cache HIT)

同一個請求,第二次發出:快取把 800 毫秒變成了 2 毫秒。

如果更新之後頁面「還是舊的樣子」,試試清快取——你多半是在盯著一份過期的副本。

又稱
cachingmemoizationcdnbrowser cache