事务的并发处理

事务特性:

acid

automic :原子性

consistent:一致性

itegrity:隔离性

durability:持久性

1、一致性:将事务中所做的操作捆绑成一个原子单元,即对于事务所进行的数据修改等操作,要么全部执行,要么全部不执行。

2、原子性:事务在完成时,必须使所有的数据都保持一致状态,而且在相关数据中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构都应该是正确的。

3、隔离性:由并发事务所做的修改必须与任何其他事务所做的修改相隔离。事务查看数据时数据所处的状态,要么是被另一并发事务修改之前的状态,要么是被另一并发事务修改之后的状态,即事务不会查看由另一个并发事务正在修改的数据。这种隔离方式也叫可串行性。

4、持久性:事务完成之后,它对系统的影响是永久的,即使出现系统故障也是如此。

 

并发导致的问题:

1.脏读

读了其他事务未提交的数据,中间可能有事务回滚的情况,在读取数据的过程中,有其他事务回滚了该数据。

2.不可重复读

在同一个事务里,两次读取的数据不一致,在读取数据的过程中,有其他事务更新了该数据。

3.幻读:

在读取数据的过程中,有其他事务插了一条新的数据。

事务的隔离级别

mysql查看事务的隔离级别:select @@tx_isolation 

详见:16 [个人补充知识点]在Spring中定义了5中不同的事务隔离级别

为了保证效率的高效采用read commited 但是这样不能保证不可重复读的问题,为此我们用悲观锁,乐观锁

依赖于数据库的

悲观锁:直接加锁,知道处理完成。

乐观锁:先执行,后检查是否对所操作的数据有改动。

转载于:https://www.cnblogs.com/wsylly/p/3764209.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值