ruby neo4j会话持久性

时间:2015-03-30 09:54:11

标签: ruby neo4j

我在Ruby CLI应用程序中使用neo4j。

每次从命令行运行命令时," session = Neo4j :: Session.open(:server_db)"重新建立,这是非常缓慢的。

无论如何要坚持"会话"首次使用并在命令行的后续命令调用中重复使用它。

此致

1 个答案:

答案 0 :(得分:1)

neo4j-core gem使用faraday gem来建立持久的HTTP连接。这是在这里定义的:

https://github.com/neo4jrb/neo4j-core/blob/master/lib/neo4j-server/cypher_session.rb#L24

这里使用NetHttpPersistent法拉第适配器:

https://github.com/lostisland/faraday/blob/master/lib/faraday/adapter/net_http_persistent.rb

我相信使用net-http-persistent库: https://github.com/drbrain/net-http-persistent

open上调用Session时,您可以传入第二个参数Hash of options。您可以在该哈希中指定connection密钥,该密钥是您已创建的法拉第连接对象。那个可能允许你在某个地方保存一些令牌/字符串,并且每次从那里重新加载法拉第对象以从它停止的地方拿起会话。

另一个选择是在后台打开一个连接打开

的守护进程