zoukankan      html  css  js  c++  java
  • 什么是事务?


    事务就是通过一系列操作来完成一件事情,在进行这些操作的过程中,要么这些操作完全执行,要么这些操作全不执行,不存在中间状态,事务分为事务执行阶段和事务提交阶段。一般说到事务,就会想到它的特性— ACID,那么什么是 ACID 呢?我们先用一个现实中的例子来说明:AB 两同学账号都有 1,000 块钱,A 通过银行转账向 B 转了 100,这个事务分为两个操作,即从 A 同学账号扣除 100,向 B 同学账号增加 100。

    原子性(Atomicity)

    组成事务的系列操作是一个整体,要么全执行,要么不执行。通过上面例子就是从 A 同学扣除钱和向 B 同学增加 100 是一起发生的,不可能出现扣除了 A 的钱,但没增加 B 的钱的情况。

    一致性(Consistency):

    在事务开始之前和事务结束以后,数据库的完整性和状态没有被破坏。这个怎么理解呢?就是 A、B 两人在转账钱的总和是 2,000,转账后两人的总和也必须是 2,000。不会因为这次转账事务破坏这个状态。

    隔离性(Isolation):

    多个事务在并发执行时,事务执行的中间状态是其他事务不可访问的。A 转出 100 但事务没有确认提交,这时候银行人员对其账号查询时,看到的应该还是 1,000,不是 900。

    持久性(Durability)

    事务一旦提交生效,其结果将永久保存,不受任何故障影响。A 转账一但完成,那么 A 就是 900,B 就是 1,100,这个结果将永远保存在银行的数据库中,直到他们下次交易事务的发生。

  • 相关阅读:
    MongoDB 搭建可复制群集
    jquery获取json对象中的key小技巧,遍历json串所有key,value
    21-spring学习-springMVC实现CRUD
    java线程--volatile实现可见性
    java线程-synchronized实现可见性代码
    java线程-java多线程之可见性
    java反射--通过反射了解集合泛型的本质
    java反射--方法反射的基本操作
    java反射--获取成员变量信息
    java反射-获取方法信息
  • 原文地址:https://www.cnblogs.com/Alan-Jones/p/6781174.html
Copyright © 2011-2022 走看看