缓存保存可以重复使用的数据或计算结果,以减少重复工作及访问延迟。服务端缓存的设计需要同时考虑访问模式、有效期、容量和数据一致性。
缓存与数据源
缓存通常不是权威数据源,条目可能过期、被淘汰或因故障丢失。应用应明确未命中时的处理,以及数据更新后如何避免长期使用旧值。
组织范围
缓存读取与更新模式、热点失效和整体故障属于不同问题。Cache Aside 是一种加载与更新模式;穿透、击穿和雪崩描述的是不同的负载与失效现象,不能把后三者视为该模式专有的子类型。
HTTP 缓存遵循相应协议规则,Redis 等数据存储则可以承载应用自行管理的缓存。两者的生效范围与失效机制需分别判断。