Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在内存中设置Neo4j的数据库实例_Neo4j - Fatal编程技术网

在内存中设置Neo4j的数据库实例

在内存中设置Neo4j的数据库实例,neo4j,Neo4j,我希望将neo4j 2.3作为一个独立的可执行文件在内存中运行,并为测试套件提供一个可配置的端口。我的项目的测试套件是用另一种语言(不是Java!)编写的,并将通过HTTP API与neo通信 以下是我到目前为止的发现: 标准buildconf/目录中的文件似乎没有配置此功能的方法 有一个类使用publicbuild方法返回一个TestCommunityNeoServer服务器,该服务器预先配置为在内存中 如何使用CommunityServerBuilder创建和运行内存中的neo4j数据库

我希望将neo4j 2.3作为一个独立的可执行文件在内存中运行,并为测试套件提供一个可配置的端口。我的项目的测试套件是用另一种语言(不是Java!)编写的,并将通过HTTP API与neo通信

以下是我到目前为止的发现:

  • 标准build
    conf/
    目录中的文件似乎没有配置此功能的方法
  • 有一个类使用public
    build
    方法返回一个
    TestCommunityNeoServer
    服务器,该服务器预先配置为在内存中

如何使用CommunityServerBuilder创建和运行内存中的neo4j数据库?或者
conf/
中是否有一个配置属性可以完成相同的任务?

对于需要服务器实例的测试,请使用
TestServerBuilder
或(使用junit时)测试规则
@Neo4jRule
。两者都提供了适合测试的进程内服务器。有关其用法的代码示例,请参见。

您可以设置一个临时内存文件系统(有时称为“RAM磁盘”),并将其(或“子目录”)设置为数据库位置

在Linux上,设置RAM磁盘有多种选择,包括
ramfs
tmpfs

在OSX上,有用于安装RAM磁盘的。在Finder中,RAM磁盘在设备列表中显示为设备(可能名称为“untitled”)


在Windows上,有许多用于创建RAM磁盘的商业软件包,但展示了如何使用免费工具。

如何使用基于Java的版本,而不是使用自定义CE路线

  • 下载并解压缩java应用程序
  • 使用此选项在单个目录树中创建标准数据库配置
当你需要测试的时候

  • 创建一个RAM磁盘
  • 将标准数据库配置复制到RAM磁盘
  • 在neo4j-server.properties配置文件中更改端口
org.neo4j.server.webserver.port=7474

  • 启动服务器
  • 进行测试
  • 停止服务器/删除RAM磁盘

谢谢您的回答。我没有尝试使用进程内服务器;我提到我的测试套件将使用HTTP API与内存中的neo4j通信。或者这有帮助吗?我不知道该怎么做?您是否检查了以下关于使用进行单元测试的链接。@Madhusudanareddysunapu我不做单元测试。我的测试套件不是用Java编写的。@Madhusudanareddysunapu最新版本的neo4j内核没有TestGraphDatabaseFactory。假设您有一个RAM磁盘的路径,如何使neo4j使用该子目录?请参阅。信息就在开头。基本上,在
conf/neo4j server.properties.
文件中适当地设置
org.neo4j.server.database.location
值。