丢失更新: 当两个事物或多个事务都更新了同一条数据,但是这些事务彼此之间都不知道其他事务进行的修改,因此第二个更改覆盖了第一次的更改,说白了,就是事务A还没有提交之后,但是这个时候事务B更新了数据,那么事务A就丢失更新了。
解决方案: 乐观锁+悲观锁
悲观锁: 数据库的一种锁机制,悲观锁分成两种,分别是共享锁和排它锁
添加共享锁方式:select * from account lock in share mode ;
添加排它锁方式:select * from account for update;
下面说一下共享锁: 共享锁就是,例如 我在客户端A 给数据C 添加了共享锁,此时我在客户端B只能添加共享锁进行查看,没有修改的权利,如果我想要在客户端B进行修改,我只能在A处commit才能进行修改。
下面说一下排它锁:排它锁就是我在客户端A 给数据C添加了排它锁,那么我在客户端B只能在客户端 A commit之后,才能select数据,换句话说,只要我在客户端B用锁进行了查询,那我我都需要等待Acommit之后,如果此时我客户端B不加锁,我是可以查询到的。这个排它锁很像数据库隔离级别中的最高的隔离级别。但是排它锁是锁住了一条数据,而排它锁是锁上了这条数据。
说完了悲观锁,那么我们在说说乐观锁。
乐观锁:就是假设丢失更新不存在,它使用的是数据库的字段进行加测。 例如我在我的字段中添加一个字段,字段的类型是 timestamp 在插入和修改时 都会自动更新为当前时间 ,我根据我的sql条件进行判断,如果我的时间不符合,那么我的跟新失败。
相关推荐
RocketMQ消息丢失解决方案:同步刷盘+手动提交.docx
本文介绍了深入理解Yii2.0乐观锁与悲观锁的原理与使用,分享给大家,具体如下: Web应用往往面临多用户环境,这种情况下的并发写入控制...但是,就于具体开发过程而言,一般分为悲观锁和乐观锁两种方式来解决并发冲突问
Feign调用丢失Header的解决方案.docx
RocketMQ消息丢失解决方案:事务消息.docx
右键新建office word excel 等菜单丢失解决方案
ROOT密码遗失解决方案.doc
Visual Studio 2005.net 代码段(Snippet)丢失的解决方案
通过对各个厂家的解决方案的核对比较,该园区管理层最终采用了中维世纪的安防监控系统解决方案。中维世纪云视通技术极大的避免和改善了在复杂的网络设置状态下视频图像远程传输的问题,最大限度的与该园区原有安防...
Session丢失原因和解决方案.Session原理
Vuex数据页面刷新丢失问题解决方案.docx
Synaptics 蠕虫病毒表现: 1.dll文件被篡改,多了前缀名cache_ 2.桌面的所有xlsx都变成用户为RPC1的xlsm,excel表格数据丢失,无法另存为;...Synaptics 蠕虫病毒解决方案: 下载工具,运行脚本即可
windows7快捷方式图标丢失的解决方案
Android数据库升级不丢失数据解决方案 https://mp.csdn.net/mp_blog/creation/editor/124272815
Gravitation网络综合应用安全管理解决方案是由上海乾脉信息安全技术有限公司根据广大客户的实际需求,结合多年安全研发的丰富经验,精心研制的一套功能全面的内网安全硬件解决方案。 近年来,网络攻击的发展趋势是...
相互独立 "太"专业:缺乏专业操作人员 缺保障:品牌多厂家多服务少 安全性差:易误操作,数据丢失 无增值:无法运营,义务劳动 现实中小区系统现状| 智慧小区-互联网+智能小区-智能安防设计方案解决方案全文共57页...
VS2005项目模版丢失解决方案及VS2005项目模版查找原理 VS2005项目模版丢失解决方案及VS2005项目模版查找原理
能源领先企业Energen发现了数据丢失防御解决方案的强大功能.pdf
重定向的时候是有session丢失的问题;window.open丢失session问题;使用框架(Frameset)调用不同域名下的页面,会出现此域下页面的Cookies和Session丢失的现象。
该解决方案可以帮助用户通过手机、PDA等随时随地查看公司内部的ERP系统数据库。业务人员在外地出差可以随时查看库存情况、总经理在外地可每天查看销售情况、回款情况等,就好比在公司看帐务一样方便。本方案系统运行...
什么是锁? 锁定问题 丢失更新 悲观锁定 乐观锁定 乐观锁定还是悲观锁定? 阻塞 死锁 锁升级