我的目标是仅添加从属URI,因为在我的情况下master不可用。但是生菜图书馆回来了
io.lettuce.core.RedisException: Master is currently unknown: [RedisMasterSlaveNode [redisURI=RedisURI [host='127.0.0.1', port=6382], role=SLAVE], RedisMasterSlaveNode [redisURI=RedisURI [host='127.0.0.1', port=6381], role=SLAVE]]
问题是:是否有可能以某种方式避免该异常?也许配置。预先谢谢你
更新:忘了说从池中借用对象之后,我在运行命令之前设置了connection.readFrom(ReadFrom.SLAVE)
。
GenericObjectPoolConfig config = fromRedisConfig(properties);
List<RedisURI> nodes = new ArrayList<>(properties.getUrl().length);
for (String url : properties.getUrl()) {
nodes.add(RedisURI.create(url));
}
return ConnectionPoolSupport.createGenericObjectPool(
() -> MasterSlave.connect(redisClient, new ByteArrayCodec(), nodes), config);
答案 0 :(得分:0)
问题是我试图设置数据,只有主节点才可以设置数据。因此,MasterSlave没有问题。获取数据效果完美