缓存Cache
一句话
缓存把取过或算过的结果先存在更近、更快的地方,下次直接复用,省掉重复等待。
大白话
缓存像厨师把最常用的盐和酱油放在灶台边:炒菜时伸手就能拿到,不用每次都跑去储藏室翻找,做菜快了很多。
比喻的边界
储藏室里换了新货,灶台边那瓶并不知道;缓存里的内容可能已经过时,所以必须说清楚它多久失效、数据更新后怎么刷新。
拿去就能用
开始做
我的每次打开都要等好几秒,但数据大概。帮我判断适不适合加缓存;如果加,说明放在哪一层、多久过期、数据更新后旧内容多久消失。
还差:页面或接口、多久更新一次,发给 AI 前记得换掉
出错了
我在后台改了商品价格,数据库里已经是新价格,但商品页刷新多次还显示旧价。我怀疑有一层缓存没更新,先帮我找出这个页面的数据是从哪里取的,确认后再改。
想做深
我的页面既有公开的商品信息,也有每个用户自己的购物车。帮我检查哪些响应可以缓存、哪些必须标成私有或不缓存,避免一个用户看到另一个用户的内容。
别这样说 → 这样说
别这样说
缓存的锅吧,清一下?
这样说
我改了首页标题并重新部署,但我的电脑打开还是旧标题,同事的手机上是新的。帮我按顺序排查浏览器缓存、CDN 缓存和部署版本,每步告诉我怎么看、看到了什么,再下结论。
差别:补上了对比现象和排查顺序,不再只丢一个猜测。
容易误解:
误解加了缓存就一定更快,而且没有副作用。
其实是缓存是拿“可能看到旧数据”换速度;数据变化频繁或因人而异时,缓存配错会让用户看到过期内容,甚至看到别人的内容。
展开专业理解
缓存可以放在浏览器、CDN、服务器内存等多个层次。HTTP 缓存用 Cache-Control 等响应头控制:有效期内的内容是“新鲜”的,可直接复用,过期后要重新验证或重新获取。浏览器这类私有缓存可以存个人内容,多人共享的缓存不能存,否则可能泄露。缓存不是数据的正本,要允许随时丢弃重建。
来源
- MDN:HTTP 缓存 核对于 2026-09-26