NOAUTH Требуется аутентификация spring-boot-data-redis+Realease Lettuce+Redis sentinel

когда я перезапускаю redis, причина
java.util.concurrent.ExecutionException: io.lettuce.core.RedisCommandExecutionException: требуется аутентификация NOAUTH. Почему это проблема, используйте такую ​​​​версию

@Configuration
public class RedisConfig {

    @Autowired
    private RedisProperties redisProperties;

    @Bean(destroyMethod = "close")
    public StatefulRedisConnection<String, Object> StatefulRedisConnection() {
        RedisURI redisUri = RedisURI.builder().withPassword(redisProperties.getPassword())
                .withSentinel(redisProperties.getSentinel().getNodes().get(0).split(":")[0],
                        Integer.valueOf(redisProperties.getSentinel().getNodes().get(0).split(":")[1]))
                .withSentinelMasterId(redisProperties.getSentinel().getMaster())
                .withDatabase(redisProperties.getDatabase()).build();
        RedisClient redisClient = RedisClient.create(redisUri);
        return redisClient.connect(new SerializedObjectCodec());
    }
}
public class CacheImpl implements Cache {
    @Autowired
    private StatefulRedisConnection connect;

    public Boolean addCourseInfosCache() {
        RedisAsyncCommands<String, Object> commands = connect.async();
        // disable auto-flushing
        commands.setAutoFlushCommands(false);
        List<RedisFuture<?>> futures = Lists.newArrayList();
        commands.flushCommands();
    }
}

person yaowei wang    schedule 09.12.2020    source источник


Ответы (1)


Lettuce использует собственный синтаксис для URI Redis. Это схема:

redis :// [password@] host [: port] [/ database]
  [? [timeout=timeout[d|h|m|s|ms|us|ns]]
  [&_database=database_]]

Существует четыре схемы URI:

  • redis — автономный сервер Redis
  • rediss — автономный сервер Redis через SSL-соединение.
  • redis-socket — автономный сервер Redis через сокет домена Unix.
  • redis-sentinel — сервер Redis Sentinel

Экземпляр базы данных Redis можно указать как часть URL-адреса или как дополнительный параметр. Если указаны оба, параметр имеет более высокий приоритет.

Распечатайте строку подключения Redis uri и проверьте свои входные данные.

person mertaksu    schedule 13.12.2020