noauth认证需要spring boot data redis+realease莴苣+redis sentinel

mznpcxlj  于 2021-06-07  发布在  Redis
关注(0)|答案(1)|浏览(797)

当我重新启动redis cause
java.util.concurrent.executionexception:io.莴苣.core.rediscommandexecutionexception:不需要身份验证。为什么这是一个像这样的问题使用版本

@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();
    }
}
7gyucuyw

7gyucuyw1#

莴苣利用了redisuri的自定义语法。这是架构:

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

有四种uri方案:
redis–一个独立的redis服务器
redis–通过ssl连接的独立redis服务器
redis socket–通过unix域套接字的独立redis服务器
redis sentinel–redis sentinel服务器
redis数据库示例可以指定为url路径的一部分或附加参数。如果两者都提供,则参数具有更高的优先级。
打印redisuri连接字符串并检查输入。

相关问题