是否可以仅将传递给生菜redis库MasterSlave连接的从属uris?

时间:2019-06-18 12:15:10

标签: redis lettuce

我的目标是仅添加从属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);

1 个答案:

答案 0 :(得分:0)

问题是我试图设置数据,只有主节点才可以设置数据。因此,MasterSlave没有问题。获取数据效果完美