我使用过Neo4j的旧版本,即1.8.x. 嵌入式和REST模式。但我从未听说它将数据存储在内存中。最近我通过Neo4j page说了3种不同类型的访问neo4j viz:
Neo4J如何处理内存中的数据?什么时候实施?是旧版本,即1.8.x吗?或者只是添加了更新的版本?配置中需要的任何其他更改,例如Spring数据neo4j?
我的发现
我听说过内存数据库,它们处理内存中的大部分任务,即RAM。例如 VoltDB 和 Redis 。 (为了优化性能)。
答案 0 :(得分:10)
Neo4j具有一个名为ImpermanentGraphDatabase的精简变体。这个仅用于测试。例如。当您开发支持图形的应用程序时,您的单元测试可能会使用它。 建议不要将ImpermanentGraphDatabase用于包含大量数据的真实场景。
要使用ImpermanentGraphDatabase,通常以TestGraphDatabaseFactory
开头,此版本位于带neo4j-kernel
的{{1}} jar中,请参阅reference manual。
无论您是在嵌入式还是服务器模式下使用Neo4j,都会使用多层缓存来尽快进行查询,详细信息请参见reference manual。
总结:Neo4j是一个事务性的,符合ACID的图形数据库,它通过缓存从您提供的RAM量中受益。但我不认为这是一个内存数据库。