最近我遇到了一个使用轻量级边缘很有意义的用例。在检查两个顶点是否与选择条件的一部分相关时,它可以实现更快的查询。
那就是说,因为我在高度并发的环境中运行,所以我遇到了一些冲突(OConcurrentModificationException)。我通过将冲突策略设置为针对该特定类的自动合并来解决这个问题。
在进一步调查时,我在添加边缘时遇到了关于并发性的文章:http://orientdb.com/docs/2.1/Concurrency.html#concurrency-when-adding-edges
它建议在边缘频繁变化的情况下使用RID包,并且每次添加/删除边缘时都具有不增加版本的优点。听起来不错,但我无法让它发挥作用。
我尝试将-DridBag.embeddedToSbtreeBonsaiThreshold = -1添加到我的客户端,但没有效果。然后我进入我的代码并添加:
OGlobalConfiguration.RID_BAG_EMBEDDED_TO_SBTREEBONSAI_THRESHOLD.setValue(-1);
我最后还尝试将-DridBag.embeddedToSbtreeBonsaiThreshold = -1添加到我的orientdb服务器(在server.sh中)。但是没有效果。每次边缘更新时,版本都会增加(这就是我假设我可以判断它无法正常工作的方式)。
有没有人想过轻量边缘如何与ridbags一起使用(或者不起作用)?
谢谢!