繁体   English   中英

如何使用php侧面脚本在NeO4j中实现锁

[英]how to implement locks in NeO4j using php side scripting

大家好,我有这个问题,我需要在对某个特定节点进行一些操作时将其锁定,完成该操作后,我必须释放该锁定。 我已经阅读过neo4j中的悲观锁定,但是如何像使用jadell neo4jphp库那样实现它。

在这方面的任何帮助将非常感激我们被困住,不知道如何进行。

直到Neo4j 1.9,每个REST请求都是一个事务。 无法使事务的寿命超过请求的寿命。

在Neo4j 2.0.0-M04(具有里程碑意义的发行版)中,已添加了事务性REST端点,请参阅http://docs.neo4j.org/chunked/preview/rest-api-transactional.html 要强制执行锁定,需要技巧是删除不存在的属性。

因此,今天Neo4j会自动将写锁添加到经历任何直到事务结束的所有写操作的节点。 据我所知,您无法通过Cypher手动(至少在本地)明确地在节点上获得写锁,但是您可以通过Java来实现。

我已经读过一些技巧,其中您将假属性写入节点,然后在事务结束之前删除该伪属性,但是更好的方法可能是使用流行的APOC插件 ,该插件具有一系列用于可以通过Cypher调用的锁定节点。

neo4j-contrib.github.io/neo4j-apoc-procedures/#_locking中了解更多

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM