当前位置:首页 > 黑客业务 > 正文内容

悲观锁(MySQL 乐观锁)

访客3年前 (2021-09-29)黑客业务630

悲观锁定是指对被外界修改的数据保持保守的态度,即在数据处理过程中锁定数据。这个功能需要依靠数据库提供的锁定机制,否则即使在系统中实现了锁定机制,也不能保证外部系统不会修改数据。

锁定模式

锁定模式。没有

无锁机构

锁定模式。阅读

Hibernate在读取记录时自动获取锁

即共享锁(s锁),也称为读锁。如果事务T获得了数据对象A上的共享锁(即把共享锁加到A上),那么其他事务只能获得A上的共享锁(S锁),而不能增加排他锁(X锁),直到A释放所有的共享锁。允许共享锁的事务只能读取数据,但不能修改数据。

锁定模式。写

Hibernate在插入更新记录时自动获取锁

也就是排他锁(x锁),排他锁也叫写锁。如果事务t获得了数据a的排他锁,那么t可以读写a,但是在t释放a的x锁之前,其他事务既不能获得a的共享锁,也不能获得a的排他锁。

锁定模式。升级

如果数据库系统支持悲观锁(如Oracle和MySQL),则执行select…for update语句(行级锁,其他事务不能更新,插入和删除语句),如果数据库不支持悲观锁(如Sybase),则执行普通select语句。

锁定模式。UPGRADE_NOWAIT

和锁定模式。升级具有相同的功能。此外,为Oracle数据库执行select…for update nowait语句。“nowait”意味着如果执行select语句的事务不能立即获得悲观锁,它将不会等待其他事务释放锁,而是立即抛出锁异常。

锁的演示

注意:Lock只对一个事务中操作的数据对象起作用,而不是对整个数据库起作用,而是锁定整个数据库。

打开两个SQL命令行操作界面,可以代表两个事务T1和T2。我们首先在两个接口上执行命令:启动事务;

在事务T1中,查询数据库中学号为“2015”的学生信息,并对操作数据添加悲观锁:从stu _ info中选择*进行更新,其中stu _ no =“2015”;。此时,我们可以查询相应的信息。

“for update”表示添加悲观锁。在这个查询之后,事务没有被提交,即锁没有被释放

在交易T2中,查询数据库中学号为“2016”的学生信息,并将悲观锁添加到操作数据中:从stu _ info中选择*进行更新,其中stu _ no =“2016”;。这时,我们也可以查询相应的信息。

交易尚未提交

在交易T2中,查询数据库中学号为“2015”的学生信息。这次做一个普通的不加锁的选择查询:从stu _ info中选择*其中stu _ no = " 2015。这时,我们也可以查询相应的信息。

交易尚未提交

在交易T2中,尝试查询数据库中学号为“2015”的学生信息,并在操作数据中添加悲观锁:从stu _ info中选择*进行更新,其中stu _ no =“2015”;。这时我们可以发现,相关信息并没有显示,而是在等待。当我们提交事务T1(即commit)时,数据对象“2015”在T1中释放悲观锁,T2事务可以查询相关信息,获得悲观锁。

如果我们改变第五步。在刚才的第五步中,我们在没有悲观锁的情况下修改了事务T1中学号为“2016”的学生信息,因为我们之前在事务T2中为该记录添加了悲观锁,并且该记录尚未发布,所以我们只能在T2提交后才能成功修改。

推荐教程:MySQL教程

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:https://therlest.com/69244.html

分享给朋友:

“悲观锁(MySQL 乐观锁)” 的相关文章

华流芒种是几月几号农历

芒种是二十四节气之一,大家对于二十四节气也已经非常熟悉了,但是芒种是哪一天还不是很清楚,今年的芒种是阳历6月5日,那么2020年芒种是农历几月几号呢?接下来我们就一起了解一下吧。     2020年芒种是农历几月几号...

猪肉怎么选?颜色有区别吗?今天做饭的时候发现上次买的猪肉颜色跟这

猪肉怎么选?颜色有区别吗?今天做饭的时候发现上次买的猪肉颜色跟这 买猪肉时,根据肉的颜色、外观、气味等可以判断出肉的质量是好还是坏。优质的猪肉,脂肪白而硬,且带有香味。肉的外面往往有一层稍带干燥的膜,肉质紧密,富有弹性,手指压后凹陷处立即复原。 次鲜肉肉色较鲜肉暗,缺乏光泽,脂肪呈灰白色;表面带...

存储过程oracle(oracle财务系统)

推荐教程:甲骨文教程 本文主要介绍甲骨文中的数据转换。 1.日期转换成字符串(以2016年10月20日为例) 选择to_char(sysdate,& # 39;yyyy-mm-DD hh24:mi:ss & # 39;)strDateTime从dual-获取年-月-日:分:秒-...

书黑客,黑客软件破解吃鸡,网站黑客攻击工具

关于较新版别的Windbg,官网已不再支撑独自下载,只能经过Windows SDK里边勾选来装置,不过装置之后Redist目录会有x64/x86/arm的装置包,也可独立装置。 此次评选活动的意图在于,在安全社区中宣扬这些技能,让职业进步对安全的注重,一起也能让这些技能能遭到认可和铭记。 因而,根据...

西湖论剑 Flagshop 分析复现

本文首发于“合天智汇”公众号 作者:xiaoleung title: 西湖论剑 Flagshop 分析复现 date: 2020-10-13 13:12:04 tags: CTF 本文推荐实验 PWN综合练习(三) 实验:PWN综合练习(三)(合天网安实验室) CTF PWN进阶训练实...

全球最大黑客组织匿名者「公司被黑客攻击要求汇比特币怎么办」

⒈匿名者黑客组织匿名者黑客组织是世界最大的黑客组织,也是世界最大的政治意识黑客组织。其关键遍布于美国,次之为欧洲国家,非州、南美洲、亚洲地区等地都是有其各分部。“匿。 ⒉世界上最大黑客组织匿名者向IS开战 匿名者是啥机构 - 百度搜索。是一个黑客组织,你能了解为一群很牛逼的计算机网大神。 ⒊匿名...

评论列表

性许猫卆
3年前 (2022-06-22)

悲观锁定是指对被外界修改的数据保持保守的态度,即在数据处理过程中锁定数据。这个功能需要依靠数据库提供的锁定机制,否则即使在系统中实现了锁定机制,也不能保证外部系统不会修改数据。锁定模式锁定模式。没有无锁机构锁定模式。阅读Hiber

泪灼掩吻
3年前 (2022-06-22)

悲观锁定是指对被外界修改的数据保持保守的态度,即在数据处理过程中锁定数据。这个功能需要依靠数据库提供的锁定机制,否则即使在系统中实现了锁定机制,也不能保证外部系统不会修改数据。锁定模式锁定模式。没有无锁机构锁定模式。阅读Hibernate在读取记录时

青迟木緿
3年前 (2022-06-22)

只能在T2提交后才能成功修改。推荐教程:MySQL教程

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。