更新数据,删除缓存,更新数据库谁先执行
1.先更新数据库,再删除缓存
2.先删除缓存,再更新数据库
答案:方案1
方案2存在问题
查询与更新并发,更新操作先删除了缓存,还未更新数据库,查询操作未取到缓存,直接查询了数据库,这时候数据库还未更新,取到了脏数据,然后把脏数据放到了缓存,后续请求取到都是脏数据。
方案1
查询与更新并发,更新操作,数据库执行成功,但缓存未删除,此时进来查询的走缓存,取到了脏数据,但是等删除缓存也执行完成,后面的请求就会取数据库正确的数据,再放入缓存,这样后续的请求,取到的数据都是正确数据。
参考:
分布式系统知识点十二:更新数据时,是先删除缓存再更新DB,还是先更新DB再删除缓存?(转载) - 掉头发的666 - 博客园
更新数据,删除缓存,更新数据库谁先执行相关推荐
- 掌握分布式环境缓存更新策略,提高缓存与数据库双写一致性!
概述 随着时代的发展,服务系统架构也已经由最初的单体架构转变为分布式.微服务架构模式. 从数据体量上来看,各系统存储的数据量越来越大,数据的查询性能越来越低. 此时,就需要我们不断的进行优化,最常用的 ...
- fastapi PUT更新数据 / PATCH部分更新
文章目录 1. PUT 更新 2. 用 PATCH 进行部分更新 learn from https://fastapi.tiangolo.com/zh/tutorial/body-updates/ 1 ...
- 【GVA】gin gorm多对多many2many更新数据时级联更新关联表数据的正确写法
如果您想要更新关联的数据,您应该使用 FullSaveAssociations 模式: true}).Updates(&user) // ... // INSERT INTO "ad ...
- oracle主从表分离怎么实时更新数据_高可用数据库主从复制延时的解决方案
MySQL主从复制的延时一直是业界困扰已久的问题.延时的出现会降低主从读写分离的价值,不利于数据实时性较高的业务使用MySQL. UDB是UCloud推出的云数据库服务,上线已达六年,运营了数以万计的 ...
- oracle主从表分离怎么实时更新数据_高可用数据库UDB主从复制延时的解决
MySQL主从复制的延时一直是业界困扰已久的问题.延时的出现会降低主从读写分离的价值,不利于数据实时性较高的业务使用MySQL. UDB是UCloud推出的云数据库服务,上线已达六年,运营了数以万计的 ...
- viewpager fragment FragmentStatePagerAdapter数据删除后更新界面
private class MyAdapter extends FragmentStatePagerAdapter{ .......................省略................ ...
- python爬虫实时更新数据_Python爬虫 更新中
基础 一.环境配置 查看已安装的包 pip freeze 导出 pip freeze >requirements.txt 安装 pip install -r requirements.txt - ...
- java mybatis 批量更新数据_Mybatis批量更新详解
转:http://www.cnblogs.com/winkey4986/p/3915151.html Mybatis批量更新 批量操作就不进行赘述了.减少服务器与数据库之间的交互.网上有很多关于批量插 ...
- 如何删除计算机自动更新补丁,删除自动更新中的WIN10升级补丁
先试试吧,毕竟微软仍然控制着我们的电脑,嗯,应该是电脑中的windows.要把windows内已经下载好的Win10升级文件删除,就去"已安装的更新"中,将KB3035583.KB ...
- mysql循环更新数据_大批量更新数据mysql批量更新的四种方法
mysql 批量更新如果一条条去更新效率是相当的慢, 循环一条一条的更新记录,一条记录update一次,这样性能很差,也很容易造成阻塞. mysql 批量更新共有以下四种办法 1..replace i ...
最新文章
- Codeforces 895C - Square Subsets
- 成员函数 静态变量做默认参数_Scala系列 (二)Scala的独有特性提高开发效率学会之后玩转函数式与OOP!!...
- Linux学习总结(二) 网络配置-NAT方式静态IP配置篇
- Quartz.Net分布式任务管理平台
- Docker 从Dockerfile 构建镜像 :build 命令的用法
- 控件事件的发生与页面加载的关系
- JavaScript数据结构和算法简述——前言
- 绮莉:一个超爱团队,为团队疯狂打call的少女
- 深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
- 桌面计算机主流硬盘接口,M.2和U.2谁更好?主流硬盘接口大扫盲
- 计算机打不开sai文件夹,无法运行 SAI2 的解决办法
- day 09 学习Python——Python模块读取xls、slx文件,python发邮件
- 2020年基金收益盘点
- Android之设备加密
- Python_Dataframe_去除重复数据
- 二叉树、B树、B+树、红黑树 的 本质区别以及各个应用场景
- PHP实现带有验证码的登陆注册
- html中的li标签不换行,css li 不换行(布局,内容)
- Java5分钟制作海报
- 奔腾n6005 怎么样 相当于什么水平