16_Spring_事务回顾

16_Spring_事务回顾

1.     事务的概念

事务(Transaction)指的是一个操作序列,该操作序列中的多个操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位,由DBMS
中的事务管理子系统负责事务的处理。

目前常用的存储引擎有InnoDB(MySQL5.5以后默认的存储引擎)和MyISAM(MySQL5.5之前默认的存储引擎),其中InnoDB支持事务处理机制,而
MyISAM不支持。

2.     事务的特性

事务处理可以确保除非事务性序列内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的序列,可以简化错误恢复并使应用程序更加可靠。
但并不是所有的操作序列都可以称为事务,这是因为一个操作序列要成为事务,必须满足事务的原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation
)和持久性(Durability)。这四个特性简称为ACID特性。

image
1)     原子性

原子是自然界最小的颗粒,具有不可再分的特性。事务中的所有操作可以看做一个原子,事务是应用中不可再分的最小的逻辑执行体。

使用事务对数据进行修改的操作序列,要么全部执行,要么全不执行。通常,某个事务中的操作都具有共同的目标,并且是相互依赖的。如果数据库系统只执行这些操作中的一部分,则可能会破坏事务的总体目标,而原子性消除了系统只处理部分操作的可能性。

2)     ** 一致性 **

一致性是指事务执行的结果必须使数据库从一个一致性状态,变到另一个一致性状态。当数据库中只包含事务成功提交的结果时,数据库处于一致性状态。一致性是通过原子性来保证的。

例如:在转账时,只有保证转出和转入的金额一致才能构成事务。也就是说事务发生前和发生后,数据的总额依然匹配。

3)     ** 隔离性 **

隔离性是指各个事务的执行互不干扰,任意一个事务的内部操作对其他并发的事务,都是隔离的。也就是说:并发执行的事务之间既不能看到对方的中间状态,也不能相互影响。

例如:在转账时,只有当A账户中的转出和B账户中转入操作都执行成功后才能看到A账户中的金额减少以及B账户中的金额增多。并且其他的事务对于转账操作的事务是不能产生任何影响的。

4)     **持久性 **

持久性指事务一旦提交,对数据所做的任何改变,都要记录到永久存储器中,通常是保存进物理数据库,即使数据库出现故障,提交的数据也应该能够恢复。但如果是由于外部原因导致的数据库故障,如硬盘被损坏,那么之前提交的数据则有可能会丢失。

3.     事务的并发问题

脏读(Dirty read)

当一个事务正在访问数据并且对数据进行了修改,而这种修改还没有提交到数据库中,这时另外一个事务也访问了这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是
“脏数据”,依据“脏数据”所做的操作可能是不正确的。

![image](data:image/jpg;base64,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)

不可重复读

(Unrepeatableread): 指在一个事务内多次读同一数据。在这个事务还没有结束时,另一个事务也访问该数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改导致第一个事务两次读取的数据可能不太一样。这就发生了在一个事务内两次读到的数据是不一样的情况,因此称为不可重复读。

![image](data:image/jpg;base64,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)
幻读

(Phantom read): 幻读与不可重复读类似。它发生在一个事务(T1)读取了几行数据,接着另一个并发事务(T2)插入了一些数据时。在随后的查询中,第一个事务(
T1)就会发现多了一些原本不存在的记录,就好像发生了幻觉一样,所以称为幻读。

![image](data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAeAB4AAD/2wBDAAoHBwkHBgoJCAkLCwoMDxkQDw4ODx4WFxIZJCAmJSMgIyIoLTkwKCo2KyIjMkQyNjs9QEBAJjBGS0U+Sjk/QD3/2wBDAQsLCw8NDx0QEB09KSMpPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT3/wAARCAEyAngDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD16aR1lCoQBtzyM0zzZv76/wDfP/16Wf8A4+B/uf1ptAC+bN/fX/vn/wCvR5s399f++f8A69JRQAvmzf31/wC+f/r0ebN/fX/vn/69JRQAvmzf31/75/8Ar0ebN/fX/vn/AOvSUUAL5s399f8Avn/69Hmzf31/75/+vSUUAL5s399f++f/AK9Hmzf31/75/wDr0lFAC+bN/fX/AL5/+vSGeYMo3rzn+H/69FMb/WR/j/KgCTzZv76/98//AF6PNm/vr/3z/wDXpKKAF82b++v/AHz/APXo82b++v8A3z/9ekooAXzZv76/98//AF6PNm/vr/3z/wDXpKKAF82b++v/AHz/APXo82b++v8A3z/9ekooAXzZv76/98//AF6PNm/vr/3z/wDXpKKAF82b++v/AHz/APXo82b++v8A3z/9ekooAXzZv76/98//AF6PNm/vr/3z/wDXpKKAF82b++v/AHz/APXo82b++v8A3z/9ekooAXzZv76/98//AF6PNm/vr/3z/wDXpKKAF82b++v/AHz/APXo82b++v8A3z/9ekooAXzZv76/98//AF6PNm/vr/3z/wDXpKKAF82b++v/AHz/APXo82b++v8A3z/9ekooAXzZv76/98//AF6PNm/vr/3z/wDXpKKAF82b++v/AHz/APXo82b++v8A3z/9ekooAXzZv76/98//AF6PNm/vr/3z/wDXpKKAF82b++v/AHz/APXo82b++v8A3z/9ekooAXzZv76/98//AF6PNm/vr/3z/wDXpKKAF82b++v/AHz/APXo82b++v8A3z/9ekooAXzZv76/98//AF6RpplRm3rwM/d/+vRTZP8AVP8A7poAf5s399f++f8A69Hmzf31/wC+f/r00dBS0AL5s399f++f/r0ebN/fX/vn/wCvSUUAL5s399f++f8A69Hmzf31/wC+f/r0lFAC+bN/fX/vn/69Hmzf31/75/8Ar0lFAC+bN/fX/vn/AOvR5s399f8Avn/69JRQAvmzf31/75/+vR5s399f++f/AK9JRQAvmzf31/75/wDr0ebN/fX/AL5/+vSUUAL5s399f++f/r0ebN/fX/vn/wCvSUUAL5s399f++f8A69Hmzf31/wC+f/r0lFAC+bN/fX/vn/69Hmzf31/75/8Ar0lFAC+bN/fX/vn/AOvR5s399f8Avn/69JRQAvmzf31/75/+vR5s399f++f/AK9JRQAvmzf31/75/wDr0ebN/fX/AL5/+vSUUASwSO7OHIOMYwMUU22/1kn0H9aKAEn/AOPgf7n9abTp/wDj4H+5/Wm0AFA5NFA6igDhU8Ra2GguWuLd7eS/a28hYwHwCe/4VJqHiXV21TSdml3VrHJKf3QmUi5GOmR6dawbVLOS/tFNnKbltVZZJyp8t03H5Qema1zbW1h4h0Oxs9QW7SO9kZYlIJgUj7ufrmhB3Ll34iujfS3Bne3gtbp7LyYozIZiVyrY9c1nz67q8djdTxavOZLUx+ZDPYrGcMcDrUc9nPejUktoJZ2XWwxWJtpxtPO7+H69qg1K0fTrLV1uMQvO1uI4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)
不可重复度和幻读区别:

不可重复读的重点是修改,幻读的重点在于新增或者删除。

解决不可重复读的问题只需锁住满足条件的行,解决幻读需要锁表

例1(同样的条件, 你读取过的数据, 再次读取出来发现值不一样了 ):事务1中的A先生读取自己的工资为 1000的操作还没完成,事务2中的B先生就修改了A的工资为
2000,导 致A再读自己的工资时工资变为 2000;这就是不可重复读。

例2(同样的条件, 第1次和第2次读出来的记录数不一样 ):假某工资单表中工资大于3000的有4人,事务1读取了所有工资大于3000的人,共查到4条记录,这时事务
2又插入了一条工资大于3000的记录,事务1再次读取时查到的记录就变为了5条,这样就导致了幻读

4.事务的隔离级别

事务的隔离级别用于决定如何控制并发用户读写数据的操作。数据库是允许多用户并发访问的,如果多个用户同时开启事务并对同一数据进行读写操作的话,有可能会出现脏读、不可重复读和幻读问题,所以
MySQL中提供了四种隔离级别来解决上述问题。

事务的隔离级别从低到高依次为READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ以及SERIALIZABLE,隔离级别越低,越能支持高并发的数据库操作。

|  |  隔离级别   |  |  脏读      |  |  不可重复读      |  |  幻读      |
|------------------------|------------|---------------|------------|
|  |  READ UNCOMMITTED   |  |  √     |  |  √     |  |  √     |
|  |  READ COMMITTED     |  |  ×     |  |  √     |  |  √     |
|  |  REPEATABLE READ     |  |  ×     |  |  ×     |  |  √     |
|  |  SERIALIZABLE     |  |  ×     |  |  ×     |  |  ×     |

spring中可以使用如下方式实现事务的控制

1 编程式(不推荐)

2 声明式(掌握)

  1. 注解(简单,必会)

2) XML配置(繁琐,了解)


posted @   AidenDong  阅读(938)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示