lidonghe 发表于 2018-11-2 08:26:40

redis读写一致性遇到的问题

  1、最初级的缓存不一致问题以及解决方案
  问题:先修改数据库,再删除缓存,如果删除缓存失败了,那么会导致数据库中是新数据,缓存中是旧数据,数据出现不一致
  解决思路
  先删除缓存,再修改数据库,如果删除缓存成功了,如果修改数据库失败了,那么数据库中是旧数据,缓存中是空的,那么数据不会不一致
  因为读的时候缓存没有,则读数据库中旧数据,然后更新到缓存中
  2、比较复杂的数据不一致问题分析
  数据发生了变更,先删除了缓存,然后要去修改数据库,此时还没修改
  一个请求过来,去读缓存,发现缓存空了,去查询数据库,查到了修改前的旧数据,放到了缓存中
  数据变更的程序完成了数据库的修改
  完了,数据库和缓存中的数据不一样了。。。。
  大家可以思考下如何解决呢?

页: [1]
查看完整版本: redis读写一致性遇到的问题