跳到主要内容

缓存失效

2025年01月05日
柏拉文
越努力,越幸运

一、认识


在某些情况下,缓存可能因系统重启、批量删除或大规模数据更新而失效,导致后续请求全部打到数据库。

二、原因


  • 缓存批量更新策略不合理。

  • Redis 服务重启或因故失效。

三、解决方案


3.1 分步失效

更新缓存时,采用分批次操作,避免所有缓存同时失效: 示例:对 key 设置不同的过期时间。

3.2 双写模式

在更新数据库的同时更新缓存,确保缓存数据与数据库一致。

3.3 异步更新缓存

使用消息队列将缓存更新操作异步处理,减少系统瞬时压力。