Neo4j 3.2.3中对象缓存的实现

Neo4j 3.2.3中对象缓存的实现,neo4j,Neo4j,我已经读过这篇文章,但在neo4j3.2.3的源代码中再也找不到“NodeImpl” 我尝试了一些代码来跟踪Neo4j的实现,但是除了页面缓存之外,我找不到对任何缓存的访问。我两次尝试获取同一节点的属性,希望在执行第二次查询时命中缓存 Node n = db.getNodeById(0); n.getProperty("name"); String name = (String) n.getProperty("name");

我已经读过这篇文章,但在neo4j3.2.3的源代码中再也找不到“NodeImpl”

我尝试了一些代码来跟踪Neo4j的实现,但是除了页面缓存之外,我找不到对任何缓存的访问。我两次尝试获取同一节点的属性,希望在执行第二次查询时命中缓存

            Node n = db.getNodeById(0);
            n.getProperty("name");
            String name = (String) n.getProperty("name");
            System.out.println("name: " + name);
“StoreStatement”中有很多“InstanceCache”,但正如注释所示,实例缓存用于单个对象,而不是用于节点和关系之间的连接,如中所述

我的问题是:

  • neo4j 3.2.3中对象缓存的实现是什么
  • neo4j的内部有更新的吗?我得到的幻灯片是6年前出版的

  • 对象缓存在Neo4j中不再存在(从我记忆中的3.0版开始),只有页面缓存


    Tobias中解释图形存储的幻灯片仍然正确。

    我看到TransactionApplicationMode中有一个名为“needsCacheInvalidation”的字段,因此这是为了使页面缓存无效?对象缓存的详细信息是否适用于页面缓存?也就是说,节点和关系记录是否如幻灯片所示进行了转换,或者它们现在只是缓存在磁盘上?就像它们在磁盘上一样