Spring事务的四个特性(ACID)

什么是事务?
事务一般是指数据库事务,是指作为一个程序执行单元执行的一系列操作,要么完全执行,要么完全不执行。事务就是判断以结果为导向的标准。
(1)原子性(atomicity)
原子性就是一个不可分割的工作单位。简单地说,就是在日常工作中,老板交给你做一件事情,然后你做到半路做不动了或者说做到最后没做完,那么这个老板就会认为你什么都没有做,做一半的东西不算数,因为老板提前告诉你他只看结果,所以最终没有看到结果,不算是做了。通俗的说就是要么全部完成,要么全部没完成回到起始的地方。
(2)一致性(consistency)
一致性就是事务必须是使一个一致性状态变成另一个一致性状态。比如说我们写一个电商项目,一个用户买商品下单的时候一般都是两步,一步就是选择商品下单,第二步就是把商品在数据库中扣除库存,如果我们买了十件商品,那么数据库中扣除了不是十件商品,或者三件或者四件或者别的,那么这就不满足一致性。
(3)隔离性(isolation)
隔离性就是一个事物的执行不能被另一个事务干扰。还是说我们的电商,一个用户下单之后在减库存的过程中,另一个用户也下单了,他也要减库存,在这个用户还没有减的时候,另一个用户给减掉了,那么库存没有了,这就是事务被另一个事务干扰了。
(4)持久性(durability)
持久性就是一个事务一旦被提交,它对数据库中数据的改变就应该是永久性的。就是说我们在执行一个sql语句之后还没有被提交,这是系统宕机了,那么数据并没有被保存下来,但是当我们把数据提交之后,存在了文件中,这时不管怎么样我们的数据都不会遭到破坏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值