缓存异常:如何解决缓存与数据库的一致性

2020-11-09  本文已影响0人  潇湘哥哥

缓存和数据库的数据不一致的产生原因


数据一致性

Redis缓存类型

读写缓存

数据的增删改,同步策略

想要保持一致性,使用 同步直写 策略;同时开启事务机制保持保证原子性

只读缓存

新增数据(天然一致)

删改数据

解决方法

操作失败 使用消息队列重试机制

并发问题: 导致读取到更新之前的值

先删除缓存,再更新数据库下并发问题 先更新数据库,再删除缓存

建议方案

  1. 优先使用先更新数据库再删除缓存的方法:考虑缓存穿透和延迟双删等待时间不好预估
  2. 先更新数据库再删除缓存,建议先在Redis缓存客户端暂存并发读请求,等操作完成后,再读取数据,从而保持数据一致性
上一篇 下一篇

猜你喜欢

热点阅读