Skip to content

后端问题 · Redis ​

我怎么看缓存 ​

缓存是 加速与削峰,不是第二数据库。
写不清失效策略,就会出现「改了库还是旧数据」。

常见坑 ​

现象常见根因处理方向
击穿热点 key 失效瞬间打穿 DB互斥重建;逻辑过期
穿透查不存在的数据反复打 DB空值缓存;布隆;参数校验
雪崩大量 key 同时过期过期随机;分层缓存
锁误删解锁不校验持有者token + 原子释放;Redisson
大 key单 value 过大拆分;监控

我的默认策略 ​

  • 旁路缓存(Cache Aside)为主:先更新 DB,再删缓存
  • 缓存必须有过期;热点单独策略
  • 分布式锁只用于短临界区,不替代业务状态机

相关细题见就业指南 Redis 模块。