Neo4j native Java: 在内存而不是硬盘中创建新数据库

Neo4j native Java: Creating a new database in memory rather than hard disk

作为图分解的一部分,我将一个图拆分为多个图。 为了在接下来的过程中使用它们,我想将拆分图存储在数据结构中。 如何通过内存中的数据结构存储这些多个图形而不是为此使用磁盘路径? 如果我为此使用 newEmbeddedDatabase,我应该提供一个不是我要求的路径。

您有两个主要选择来执行此操作。

选项 1

您可以使用 ImpermanentGraphDatabase,如 in this link 所示,其中讨论了使用 neo4j 进行单元测试。请注意,这实际上仍然会写入临时文件,您只是不需要 know/care 它们的存储位置。

选项 2

第二个选项是使用 linux 来设置类似 ramfs 的东西。这里的想法是,您实际上是在创建一些 看起来 像磁盘的东西,但它实际上都在内存中,因此 transient/not 保存到硬盘。此选项让您可以像对待任何其他数据库一样对待内存中的图形数据库(只是磁盘上的另一个目录)。

Neo4j 没有选择纯粹在内存中执行操作而不持久化到磁盘的选项,因此这些选项中的任何一个都可以让您做您想做的事,而不必真正考虑磁盘持久性位。