代码示例:
map = client.getMap(...)
list = client.getList();
map.put(.., list);
...
list.add(....);
...
thelist = map.get(...,)
这里会发生什么?
该列表将被转换为json,还是redisson将解决它并只使用引用列表?
名单的更新会反映在Map上吗?
如果我决定 Package redisonlist,我的 Package 类将被序列化为json,而委托列表是对redis列表的引用,或者也将被序列化,会发生什么。
许多问题,但重要的是得到什么是可能的和不可能的窍门。
map.compute似乎也不会锁定本地以外的对象,因此必须小心。
我建议实现应该覆盖java.util子类中的所有内容,并注解或注解(仅限信息性注解),以说明此方法仅具有本地效果。
1条答案
按热度按时间at0kjp5o1#
在这种情况下,rmap值保存对rlist对象的引用。
map.compute似乎也不会锁定本地以外的对象,因此必须小心。
如注解中所述,它甚至对本地Map也没有锁定:
The default implementation makes no guarantees about synchronization or atomicity properties of this method