Java Redisson 集成

Java Redisson Integration

我有一个场景,我需要使用的数据结构是 Map<String,Map<String,List<String>>

并且我想使用 Redis 将此数据存储为内存缓存。

我感兴趣的一件事是,使子地图的 "key"(在本例中为 Map<String,List<String>>)在 5 分钟后过期。

我在 Redis(Redisson 实现)中尝试过类似的东西,

RMap<String,Map<String,List<String>> parentMap = redisson.getMap("parentMap");

RMapCache<String,List<String>> childCache = redisson.getMapCache("childMapCache");

childCache.put("test",new ArrayList<String>(),5,TimeUnit.Minutes);

//Placing the child cache into parent map
parentMap.put("child",childCache);

但是当我这样做时,我收到以下错误消息(找出根本原因)

"unnotified cause: io.netty.handler.codec.EncoderException:
java.io.NotSerializableException: org.redisson.RedissonReference"

是否有解决方法可以将这样的数据结构导入 Redis?

当使用Java序列化或类似的编解码器时会发生此错误,现在已在 2.9.3 和 3.4.3 中修复。