Можно ли передать в салат редис библиотеку MasterSlave с подключением только к рабам uris? - PullRequest
0 голосов
/ 18 июня 2019

Моя цель состоит в том, чтобы добавить только 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 голосов
/ 18 июня 2019

Проблема заключалась в том, что я пытался установить данные, что возможно только с главным узлом.Так что с MasterSlave проблем нет.Получить данные работает отлично

...