acid-事务的原子性、一致性、隔离性、持久性

原子性  多个事情组成一个单元,要么同时成功或失败,不能只运行其中一个

一致性  事务处理要将数据库从一种状态转变为另一种状态。

             一旦提交了修改数据,那么其它人读取这个数据,也是被修改后的数据

隔离性  在事务处理提交之前,事务处理的效果不能由系统中其它事务处理

            多个用户,不能同时读写同一个数据,应该有先后顺序,在数据库中是一个一 个事件地运行,如果事件的条件不满足,后续事件就回滚

持久性  事件一旦提交成功,数据就发生了变化

例如:

         网上定票系统,扣钱和定票是一个事务,它需要有原子性即不能只运行扣钱不运行定票。符合原子性。

         这张票被多人同时在网上定,就会有先来的才定上这个票,后来定票的动作,如果发现票已卖出,(票的状态改变了,其它人通过网站访问这个数据,就会发现票已卖出符合一致性),就会回滚到不扣钱,票订不上的状态。符合隔离性。

        票被定了,在数据库里设置标志位,它就一直显示为卖出状态。符合持久性

相关推荐