可以说我有以下对象:
Bar bar = new Bar();
bar.setX(3);
Foo foo = new Foo();
foo.setY(4);
foo.setBar(bar);
hzFooMap.put(1, foo);
hzBarMap.put(1, bar);
使用上面的代码,Hazelcast 将松散 foo 和 bar 之间的关系。如,如果我更新 bar,那么 foo 也不会像这样更新:
Bar sameBar = hzBarMap.get(1);
sameBar.setX(20);
hzBarMap.put(1, sameBar);
Foo sameFoo = hzFooMap.get(1);
在上面的示例中,sameFoo.bar.x 从未使用新值 20 进行更新。Hazelcast 中有没有办法更新每个实例?
我可以编写自己的引擎来记住所有内容的存储位置并更新我找到的每个对象的每个实例,但这会使写入过于昂贵。
或者我可以以某种方式在地图之间建立指针,但这会减慢读取速度......对于解决这个问题的任何帮助将不胜感激!