1

我目前有一个每天更新 neo4j 数据库的 Java 应用程序。

然后我有另一个应用程序,它通过创建具有相同存储路径的嵌入式数据库来使用遍历查询数据库。

每次查询 java 应用程序运行时,我应该如何保持服务器运行并将查询定向到已经运行的实例?我不确定如何在不每次都创建嵌入式服务器实例的情况下做到这一点。

我可以保留我目前的方法,问题是每次用户发出查询请求时它都必须加载数据库,这很昂贵。

谢谢!

4

2 回答 2

0

您可以在嵌入式数据库之上运行服务器:http: //docs.neo4j.org/chunked/milestone/server-embedded.html

因此,您可以保持嵌入式应用程序运行并使用计时器任务导入数据,同时提供服务器的 web-ui。

于 2012-12-16T21:06:19.883 回答
0

它不仅昂贵,而且如果我正确理解了您的应用程序概念,您可能会遇到锁存储错误。

如果您的更新应用程序正在数据库中执行某些操作,因此有一个嵌入式数据库实例正在运行,同时您的其他应用程序正试图创建一个嵌入式数据库的实例来执行查询,您会遇到锁店。

我不知道您是否采取了任何预防措施来防止这种情况发生,或者到目前为止您是否幸运地没有同时发生这些动作,但我会调查一下。

于 2012-12-19T12:19:06.113 回答