数据库
首页 > 数据库> > 更新数据,删除缓存,更新数据库谁先执行

更新数据,删除缓存,更新数据库谁先执行

作者:互联网

1.先更新数据库,再删除缓存

2.先删除缓存,再更新数据库

答案:方案1

方案2存在问题

查询与更新并发,更新操作先删除了缓存,还未更新数据库,查询操作未取到缓存,直接查询了数据库,这时候数据库还未更新,取到了脏数据,然后把脏数据放到了缓存,后续请求取到都是脏数据。

方案1

查询与更新并发,更新操作,数据库执行成功,但缓存未删除,此时进来查询的走缓存,取到了脏数据,但是等删除缓存也执行完成,后面的请求就会取数据库正确的数据,再放入缓存,这样后续的请求,取到的数据都是正确数据。

参考:

分布式系统知识点十二:更新数据时,是先删除缓存再更新DB,还是先更新DB再删除缓存?(转载) - 掉头发的666 - 博客园

标签:缓存,删除,数据库,更新,取到,数据
来源: https://blog.csdn.net/C18298182575/article/details/120346879