Redis和Mysql如何保证数据⼀致?
1. 先更新Mysql,再更新Redis,如果更新Redis失败,可能仍然不⼀致
2. 先删除Redis缓存数据,再更新Mysql,再次查询的时候在将数据添加到缓存中
这种⽅案能解决1 ⽅案的问题,但是在⾼并发下性能较低,⽽且仍然会出现数据不⼀致的问题,⽐如线程1删除了 Redis缓存数据,正在更新Mysql,此时另外⼀个查询再查询,那么就会把Mysql中⽼数据⼜查到 Redis中
1. 使用MQ异步同步, 保证数据的最终一致性
我们项目中会根据业务情况 , 使用不同的方案来解决Redis和Mysql的一致性问题 :
1. 对于一些一致性要求不高的场景 , 不做处理例如 : 用户行为数据 ,