我正在尝试将所有的Neo4j数据库加载到RAM中,所以查询速度会更快.当通过属性映射到图创建时,我没有看到进程像以前一样在内存中占用更多的空间,并且它与磁盘上文件的空间也不成比例.
可能是什么问题呢?怎么可以固定….
谢谢
可能是什么问题呢?怎么可以固定….
谢谢
解决方法
Neo4j懒惰地加载所有的数据,这意味着它会在第一次访问时将它们加载到内存中.缓存选项只是GC策略,所以当(或者)引用将被GCed时.要将整个图形加载到内存中,您的缓存类型必须很强,您需要遍历整个图形一次.你可以这样做:
// untested java code import org.neo4j.helpers.collection.IteratorUtil; // ... for(Node node : graph.getAllNodes()) { IteratorUtil.count(node.getRelationships()); }
这样,所有节点和关系将被使用一次,从而加载到高速缓存中.