Titan:添加新顶点或边后刷新图形

时间:2014-02-15 12:50:28

标签: titan

我在Spring Web应用程序中使用Titan。当我添加新边缘,或删除它实际删除但不反映在我的网页中的顶点。我的查询仍然会获得旧边或顶点。

为了实现这一点,我必须重新启动我的应用程序。

每次新添加或删除后,我都会g.commit()

2 个答案:

答案 0 :(得分:7)

考虑在新的HTTP请求开始时发出g.rollback(),以确保获得全新的视图。这就是Rexster当前所做的事情。

答案 1 :(得分:7)

添加到斯蒂芬的答案:

这里的问题不是缓存层,而是Titan使用事务对图进行读写操作。 所以,这里发生的事情是g.commit()后面的写操作成功地将新数据存储在图中,但后续读取发生在旧事务中(因为前一个读事务未提交或回滚)因此可以看到变化。

从事务角度来看,这是正确的行为,但如果您不将“读取”视为事务,则可能会造成混淆。