文章目录

概述
在大并发的情况下,同时操作数据库和缓存,有可能出现数据不一致的情况 , 那碰到这种情况我们该怎么处理呢?
下面模拟几个场景及对应的解决方案,供大家参考~
双写不一致 case
我们来看下这种情况 线程1 和线程2 同时写DB
- 线程1 执行写DB操作 ,中间更新缓存的时候可能出现了其他异常,导致缓存更新慢
- 线程2 在线程1写完DB后更新缓存之前,执行了写DB更新缓存
- 此时,线程1在线程2操作完DB和缓存后,线程1恢复了正常,执行更新缓存操作
- 这时候DB中的数据是线程2更新的数据,而缓存中却是线程1中的数据,进而导致 DB数据和缓存数据不一致~~~~
双写的问题场景清楚了哈 ,我们接着来看下读写并发不一致的情况