我试图将所有Neo4j数据库加载到内存中,因此查询会更快。将属性图传递给图形创建时,我没有看到该过程像以前那样在内存中占用更多空间,并且它也与磁盘上文件的空间不成比例。 可能是什么问题?以及如何修复... 谢谢将所有Neo4J数据库加载到内存中
回答
Neo4j懒惰地加载所有数据,这意味着它在第一次访问时将它们加载到内存中。缓存选项只是关于GC策略,因此何时(或如果)引用将被GCed。要将整个图加载到内存中,缓存类型必须很强,并且需要遍历整个图。你可以这样说:
// untested java code
import org.neo4j.helpers.collection.IteratorUtil;
// ...
for(Node node : graph.getAllNodes()) {
IteratorUtil.count(node.getRelationships());
}
这样,所有节点和关系将被使用一次,因此加载到缓存中。
谢谢,在文档中也发现了这一点。我真的希望只有一个简单的标志,而不是所有这些。 – user971956 2012-04-10 14:09:01
这里的好处是,你可以微调它到你的用例,毕竟它只是2行代码:) – 2012-04-10 23:14:09
迈克尔,真实,但从新手可用性的角度来看(这是一个新产品的主要部分)让这些东西变得简单死了比选择微调更重要。 – user971956 2012-04-11 17:29:13
- 1. Entlib将数据加载到内存中
- 2. 将HEX数据加载到内存中
- 3. 将数据从数据库表加载到共享内存
- 4. 将SQL Server CE数据库加载到内存中
- 5. 需要将整个postgreSQL数据库加载到内存中
- 6. 将MySQL innodb数据库加载到内存中
- 7. 将只读数据库表加载到内存中
- 8. 内存优化表 - 部分将数据加载到内存中
- 9. Jena TDB每次都将所有数据加载到内存中吗?
- 10. 如何将XML文件读取/加载到neo4j数据库
- 11. 将插件加载到Neo4j数据库的嵌入版本
- 12. 将现有的Sqlite数据库加载到内存中以便快速计算
- 13. 如何将现有的数据库文件加载到Python sqlite3中的内存?
- 14. 将数据库表加载到要使用的内存
- 15. 加载现有的SQLite数据库到内存
- 16. 逻辑数据库加载到内存中VS Android中
- 17. LazyImage加载到RecyclerView +将LoadedImages保存到数据库中
- 18. 将数据库加载到textview中?
- 19. EntityFramework - 是否有可能将整个上下文数据库加载到内存?
- 20. 建议将数据库中的数据从缓存加载到所有应用程序中
- 21. 将数据批量加载到Neo4J中的最佳方法
- 22. 将数据库内容加载到ckeditor的textarea中
- 23. 通过JDBC将CSV内容加载到数据库中?
- 24. 将数据预加载到内存中的优点?
- 25. 可以将sqlite加载10M数据到内存中
- 26. 将neo4j数据库从Windows移到Ubuntu
- 27. 所有下载数据库
- 28. 如何在Mono中使用Sqlite将基于磁盘的数据库加载到内存数据库中?
- 29. 将Neo4j子图加载到Networkx中
- 30. h5py:切片数据集没有加载到内存中
您还应该确保有足够的内存来存储文件的内存映射,您可能需要手动配置它(http://docs.neo4j.org/chunked/milestone/configuration-io-examples。 html) – 2012-04-10 23:15:40