哪个缓存可以选择Neo4j Cache或其他任何缓存?

时间:2015-05-30 04:08:50

标签: caching neo4j

我使用的是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
   }

1 个答案:

答案 0 :(得分:0)

第一级缓存是文件系统+内存映射,这对快速i / o至关重要。

Neo4j的对象缓存(特别是如果你使用嵌入式)存储节点和关系(缓慢地使用cache_type = strong)将加速你的查询。

第三级缓存可以存储弹簧域对象及其获取的关系。你可能只使用带有guava,eh-cache或类似功能的Spring的@Cache注释。

我的同事Max在Neo4j上发布了一些博文,并在较低级别进行了缓存: http://maxdemarzi.com/?s=caching