ruby neo4j 会话持久化

ruby neo4j session persistence

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

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

有没有办法坚持 "session" 第一次使用并在后续从命令行调用命令时重新使用它。

此致

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

Session 上调用 open 时,您可以传入第二个参数 Hash of options。您可以在该散列中指定一个 connection 键,这是您创建的法拉第连接对象。 可能 允许您在某处保存一些 token/string 并且每次都从那里重新加载法拉第对象以从它停止的地方继续会话。

另一个选择是在后台有一个守护进程,它打开了连接