作为图分解的一部分,我将一个图拆分为多个图。 为了在接下来的过程中使用它们,我想将分割图存储在数据结构中。 如何通过内存中的数据结构存储这些多个图形,而不是使用磁盘路径? 如果我为此使用 newEmbeddedDatabase,我应该提供一个不是我要求的路径。
最佳答案
您有两个主要选择来执行此操作。
选项 1
您可以使用ImpermanentGraphDatabase
,如in this link所示其中讨论了 Neo4j 的单元测试。请注意,这实际上仍然会写入临时文件,您只是不需要知道/关心它们存储在哪里。
选项 2
第二个选项是使用linux来设置类似ramfs的东西。这里的想法是,您实际上正在创建一些看起来像磁盘的东西,但它实际上全部在内存中,因此是暂时的/不保存到硬盘上。通过此选项,您可以像对待任何其他数据库一样对待内存中图形数据库(只是磁盘上的另一个目录)。
Neo4j 没有选项可以纯粹在内存中执行操作而不持久保存到磁盘,因此这两个选项都可以让您执行您想要的操作,而无需真正考虑磁盘持久位。
关于java - Neo4j 原生 Java : Creating a new database in memory rather than hard disk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33222836/