我使用的是neo4j 2.1.5和SDN 3.2.2。
您好我正在开发一个社交网络网络应用程序,其中我将用户社交图存储到neo4j数据库中。现在我想为用户提出建议,因为我想将整个用户社交图缓存到缓存中。 谁能告诉我哪个缓存使用neo4j对象缓存或任何其他内存缓存(gauava,memcache等..)。
如果是neo4j Cache,这是正确的方法吗?
@Autowired
GraphDatabaseService graphdb;
GlobalGraphOperations gop = GlobalGraphOperations.at(graphdb);
// Now to load all nodes into cache, do I have to traverse them.
for (Node node : gop.getAllNodes()) {
//to-do
}
答案 0 :(得分:0)
第一级缓存是文件系统+内存映射,这对快速i / o至关重要。
Neo4j的对象缓存(特别是如果你使用嵌入式)存储节点和关系(缓慢地使用cache_type = strong)将加速你的查询。
第三级缓存可以存储弹簧域对象及其获取的关系。你可能只使用带有guava,eh-cache或类似功能的Spring的@Cache注释。
我的同事Max在Neo4j上发布了一些博文,并在较低级别进行了缓存: http://maxdemarzi.com/?s=caching