begin tx1
do some work
begin tx2
do some work
tx2.success
tx2.finish
tx1.success
tx1.finish
tx2.finish实际上是提交还是释放锁?
谢谢
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
是获得锁的时候。
阅读Neo4j 手册的这一部分以获取更多信息。