redis集群模式下调用RMapCach.keySet()获取所有key,或者RMapCache.readAllValues()获取所有值。应该能正常返回。
但是,当调用以上两个方法后,报"unable to decode data."
public void myTest(RedissonClient redissonClient) {
RMapCache<String, User> mapCache = redissonClient.getMapCache("myMapCache");
mapCache.put("firstUser", new User("redisson1", 5), 1, TimeUnit.MINUTES);
mapCache.put("secondUser", new User("redisson2", 6), 1, TimeUnit.MINUTES);
User user = mapCache.get("firstUser");
System.out.println("get first user--->" + user.toString());
mapCache.readAllValues().forEach(value -> {
System.out.println("value-->" + value.toString());
});
mapCache.keySet().forEach(key -> {
System.out.println("all keys-->" + key);
}
如果直接配置spring.redis.host和spring.redis.port来连接redis,以上方法不会报错。但是如果使用spring.redis.cluster.nodes集群模式连接,就会有问题。
Redis versionV3.0.7
Redisson versionV3.9.1
Redisson configurationspring.redis.password=***** spring.redis.ssl=false spring.redis.timeout=5000 spring.redis.cluster.nodes=192.168.159.129:7001,192.168.159.129:7002,192.168.159.129:7003