核心概念

缓存

/ 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