java - Neo4j 原生 Java : Creating a new database in memory rather than hard disk

标签 java neo4j graph-databases

作为图分解的一部分,我将一个图拆分为多个图。 为了在接下来的过程中使用它们,我想将分割图存储在数据结构中。 如何通过内存中的数据结构存储这些多个图形,而不是使用磁盘路径? 如果我为此使用 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/

相关文章:

java - 在事务之外使用 ExecutionEngine#execute(String)?

neo4j - 如何:server connect to neo4j database

neo4j - 仅获取 Neo4j 中的特定关系类型

neo4j - 图数据库的变更管理?

java - 软件部署流程

java - 泛型在这种情况下有何帮助?

java - jackson (反)序列化对象作为它的 id

java - NodeEntity 无法转换为 graphdb.Node

java - 在服务器内部调用 Web 服务

neo4j - 在不同的属性上使用 neo4j DISTINCT 和 ORDER BY