加载中...

| 类型 | 计算机体系结构 / 系统设计模式 |
| 主流分布式缓存 | Redis、Memcached |
| HTTP 缓存控制头 | Cache-Control、ETag、Last-Modified |
缓存不是单一技术,而是一个贯穿整个计算机体系的设计模式:
计算机科学领域有一句名言(来自 Phil Karlton):「计算机科学只有两件难事:缓存失效和命名。」缓存引入了数据一致性问题。
常见更新策略:Cache-Aside(旁路缓存)是最常用的,读时先查缓存,缓存没有再查 DB 并写入缓存,写时先更新 DB 再删除缓存(注意是删除不是更新,避免并发写导致脏数据);Write-Through 写穿,每次写都同时更新缓存和 DB;Write-Behind 写回,先写缓存,异步批量刷入 DB,吞吐量最高但有丢数据风险。
缓存经典问题:缓存穿透(查不存在的数据,每次都打到 DB)用布隆过滤器或缓存空值解决;缓存雪崩(大量缓存同时过期)用随机过期时间错开;缓存击穿(热点 key 过期瞬间大量并发)用互斥锁或逻辑过期处理。

| 类型 | 计算机体系结构 / 系统设计模式 |
| 主流分布式缓存 | Redis、Memcached |
| HTTP 缓存控制头 | Cache-Control、ETag、Last-Modified |
登录 后参与讨论
暂无讨论,来发表第一条评论吧