spring事务的几大特征

事务具有四大特征,分别是原子性、一致性、隔离性和持久性。

一、原子性

事务的原子性是指事务全部提交成功或者提交失败,全部回滚,不会执行其中的一部分。

二、一致性

事务在执行前后,数据库都处于一致状态,即事务的执行不会破环数据库数据的一致性和完整性。如事务未处理完成的过程中数据库故障,事务未完成就被迫中断,未完成的事务对数据库的所作的修改写入,这时数据库就处于一种不一致的状态。

三、隔离性

事务的隔离性是值在并发环境下,并发的事务是相互隔离的,一个事务的执行不能被另外的事务干扰。不同的事务并发操作数据时,每个事务都在自己的数据空间,即一个事务内部的操作及使用的数据对其他并发事务时隔离的,并发执行的各个事务之间不能相互干扰。

不同的隔离级别对事务的处理不同,分别是:未授权读取,授权读取,可重复读取和串行化 。

1.未授权读取,也叫读未提交,该隔离级别允许脏读,其隔离级别最近;例如两个事务同时进行,其中一个事务对数据进行了修改但是还没有提交,而此时另外一个事务能看见数据的改变。

2.授权读取,也叫读已提交。读取已经提交的数据。例如两个事务同时进行,一个事务对数据做了修改而没有提交,此时另外一个事务无法看见数据的改变。当事务提交了修改的数据后,另一个事务能够看见数据的改变,即都已提交无法看见中间过程数据的改变,只能看见事务提交后的数据。但是它不能重复读取。

 

3.可重复读。保证事务处理过程中,多次读取的数据和事务开始时刻都是一样的,但是会产生幻读。所谓幻读,就是指同样的事务操作,在前后两个时间段内执行对同一个数据项的读取,可能出现不一致的结果。

4.串行化。最严格的事务隔离级别。它要求事务串行处理,只能 一个一个的执行,不能并发处理。当左边的事务处理并提交后,才能进行右边的事务。

 四、持久性

一旦事务提交,数据库中对应数据的更改就会永久保存到数据库中。即使发生系统崩溃或机器宕机等故障,只要数据库能够重新启动,那么一定能够将其恢复到事务成功结束的状态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值