Java教程

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

本文主要是介绍更新数据,删除缓存,更新数据库谁先执行,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

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

答案:方案1

方案2存在问题

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

方案1

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

参考:

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

这篇关于更新数据,删除缓存,更新数据库谁先执行的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!