数据一致性问题
- 如果对一致性要求极高那么不建议使用缓存.
- 在Redis缓存中经常会遇到数据一致性问题,下面罗列几种情况
1.先更新数据库,再删除缓存
2.先删除缓存,再更新数据库
3.双删(先删除缓存,再更新数据库,再删除缓存)
情况(1): T2先更新缓存,T1再删除缓存(数据一致)
情况(2): T1先删除缓存,T2再更新缓存 (数据不一致)
4.延时双删策略
延时双删能尽量保证,如上情况(1),但是延迟删除的时间内可能会造成脏数据.
总结
无论哪种都不能保证数据完全一致性,强一致性的只能加锁来解决.