问题描述
我正在Java环境中使用Redisson来使某些数据结构分布式,以便可以在多线程环境中从多个Tomcat实例访问它们。
我计划具有如下定义的嵌套地图数据结构:
protected RMap<String,ConcurrentHashMap<String,Object >>> aMap = new ConcurrentHashMap<>();
根据Redisson文档,默认情况下RMap是线程安全的。 但是,我不确定修改嵌套在RMap中的ConcurrentHashMaps实例之一时会发生什么。 使用Redisson时,通常在RMap中使用并发哈希映射是一种好习惯吗?我是否通过这种方法为不可预见的并发相关问题铺平了道路?如果没有,有什么更好的方法? 谢谢。
解决方法
但是,我不确定修改嵌套在RMap中的ConcurrentHashMaps实例之一时会发生什么情况
您需要再次调用RMap.put
方法。
使用Redisson时,通常在RMap中使用并发哈希映射是一种好习惯吗?
改为使用RMap对象。 Redisson允许将RMap存储在RMap中。