- Article -

缓存与库数据不一致

分类于 Redis 标签 缓存 发表于2024-03-15 21:50

缓存中的数据和数据库中的不一致

缓存和数据库的数据不一致是如何发生的?

不符合这两种情况,就属于缓存和数据库的数据不一致的问题了。

对于读写缓存来说,如果要对数据进行增删改,就需要在缓存中进行,同时还要根据写回策略,决定是否同步写回数据库呢。

  1. 同步直写策略: 写缓存时,也同步写数据库,缓存和数据库中的数据一致。
  2. 异步写回策略: 写缓存时不同步写数据库,等到数据从缓存淘汰时,再写回数据库。

如何解决数据不一致问题 (最终一致性)

总结

删除缓存值或更新数据库失败而导致数据不一致,你可以使用重试机制确保删除或更新操作成功。

在删除缓存值、更新数据库的这两步操作中,有其他线程的并发读操作,导致其他线程读取到旧值,应对方案是延迟双删。