2
begin tx1
    do some work
    begin tx2
      do some work
    tx2.success
    tx2.finish
tx1.success
tx1.finish

tx2.finish实际上是提交还是释放锁?

谢谢

4

1 回答 1

3

Neo4j 具有平面嵌套事务的概念。平面嵌套事务意味着所有嵌套事务都被添加到顶级事务的范围内。因此,在您的情况下tx2,可以将整个事务标记为回滚,Neo4j 将同时回滚tx1tx2. 在您的情况下,只会tx1.finish提交交易。

Neo4j 事务中的所有修改都保存在内存中,直到提交或回滚。然后获得锁来进行实际的刷新。所以在你的情况下tx1.finish是获得锁的时候。

阅读Neo4j 手册的这一部分以获取更多信息。

于 2013-08-30T13:07:52.217 回答