登录
No.37核心1 条来源

缓存Cache

课堂投屏

一句话

缓存把取过或算过的结果先存在更近、更快的地方,下次直接复用,省掉重复等待。

大白话

缓存像厨师把最常用的盐和酱油放在灶台边:炒菜时伸手就能拿到,不用每次都跑去储藏室翻找,做菜快了很多。

比喻的边界

储藏室里换了新货,灶台边那瓶并不知道;缓存里的内容可能已经过时,所以必须说清楚它多久失效、数据更新后怎么刷新。

拿去就能用

开始做

我的每次打开都要等好几秒,但数据大概。帮我判断适不适合加缓存;如果加,说明放在哪一层、多久过期、数据更新后旧内容多久消失。

还差:页面或接口、多久更新一次,发给 AI 前记得换掉

出错了

我在后台改了商品价格,数据库里已经是新价格,但商品页刷新多次还显示旧价。我怀疑有一层缓存没更新,先帮我找出这个页面的数据是从哪里取的,确认后再改。

想做深

我的页面既有公开的商品信息,也有每个用户自己的购物车。帮我检查哪些响应可以缓存、哪些必须标成私有或不缓存,避免一个用户看到另一个用户的内容。

别这样说 → 这样说

别这样说

缓存的锅吧,清一下?

这样说

我改了首页标题并重新部署,但我的电脑打开还是旧标题,同事的手机上是新的。帮我按顺序排查浏览器缓存、CDN 缓存和部署版本,每步告诉我怎么看、看到了什么,再下结论。

差别:补上了对比现象和排查顺序,不再只丢一个猜测。

容易误解:

误解加了缓存就一定更快,而且没有副作用。

其实是缓存是拿“可能看到旧数据”换速度;数据变化频繁或因人而异时,缓存配错会让用户看到过期内容,甚至看到别人的内容。

展开专业理解

缓存可以放在浏览器、CDN、服务器内存等多个层次。HTTP 缓存用 Cache-Control 等响应头控制:有效期内的内容是“新鲜”的,可直接复用,过期后要重新验证或重新获取。浏览器这类私有缓存可以存个人内容,多人共享的缓存不能存,否则可能泄露。缓存不是数据的正本,要允许随时丢弃重建。

来源

  1. MDN:HTTP 缓存 核对于 2026-09-26