缓存与数据库双写不一致
一开始解决办法是每次存数据后将缓存删掉,后面线程读取数据库是又将数据读到缓存中
但是又会出现问题
5、延时双删,在写入数据库后,等待一定时间后再将缓存数据删除,在下次查询数据库将更新的缓存数据删除,就可以避免数据库与缓存不一致现象
**严重影响性能**
问题:但是会影响性能用户体验
分布式锁解决:一般用于不能忍受不一致带来的问题,如库存数据问题
分布式锁解决缓存与数据库的不一致性问题
写的时候加写锁
读的时候加读锁
总结:
- 延时双删,第二次删除的时候设置适合的时间等待后面数据刷新后在进行删除
- 设置过期时间(一般会采用这样的方法)