老师,这里说到事务的一致性的理解

来源:5-3 事务和乐观锁

剑心kenxin

2018-11-10

在网上搜到的大多说得和原子性比较相像,事务执行前后都要保持一致的状态,视频里老师提到的事务的一致性是指在事务执行前和执行后都要满足数据库和逻辑上设置的约束, 感觉还是对这一特性还是不太理解

写回答

2回答

ccmouse

2018-11-11

补充一下:通常原子性的存在是保证了一致性的重要途径。这里不是必须的。但是如果我们实现了原子性,那么用原子性来保证一致性会容易很多。

0
1
剑心kenxin
非常感谢老师
2018-11-12
共1条回复

ccmouse

2018-11-11

原子性是说一组操作要么一起发生,要么都不发生。比如a给b转账,a=a-50,b=b+50,这两个需要一起执行。
事务的一致性是指在事务执行前和执行后都要满足数据库和逻辑上设置的约束。这里的约束主要指数据库外键,触发器等。比如一个外键,它必须指向一个存在的值,或者指向null(这段可以参考我之前讲到的外键)。那么任何一个事务运行成功后,仍然需要满足这个条件。这里面其实和我在编码技巧中的循环不变量很像,都是在维持一个一致性。
这两点像呢,是因为通常原子性的存在是保证了一致性的重要途径。但他们分别是从不同的角度看问题的。

0
0

Google面试官亲授-Java面试新手尊享课

为面试新手量身定制的Java面试尊享课,解锁“鲤鱼跃龙门”的妙招

2853 学习 · 180 问题

查看课程