begin tx1
do some work
begin tx2
do some work
tx2.success
tx2.finish
tx1.success
tx1.finish
tx2.finish实际上提交或释放锁吗?
谢谢
最佳答案
Neo4j 具有平面嵌套事务的概念。扁平嵌套事务意味着所有嵌套事务都添加到顶级事务的范围中。因此,在您的情况下,tx2
可以将整个事务标记为回滚,Neo4j 将回滚 tx1
和 tx2
。在您的情况下,只有 tx1.finish
才会提交事务。
Neo4j 事务中的所有修改都保留在内存中,直到提交或回滚。然后获得锁来进行实际的刷新。因此,在您的情况下 tx1.finish
是获得锁的时间。
阅读this section有关详细信息,请参阅 Neo4j 手册。
关于neo4j - 嵌套事务对锁定有影响吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18531566/