当我重新启动redis时,会导致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();
}
}
您可以升级莴苣版本并尝试:
RedisURI redisUri = RedisURI.Builder.sentinel("sentinelhost1", "mymaster").withPassword("abc").build();
莴苣利用了Redis URI的自定义语法。这是模式:
redis :// [password@] host [: port] [/ database]
[? [timeout=timeout[d|h|m|s|ms|us|ns]]
[&_database=database_]]
有四种URI方案:
Redis数据库实例可以指定为URL路径的一部分或作为附加参数。如果两者都提供,则该参数具有更高的优先级。
打印您的redis uri连接字符串并检查您的输入。
问题内容: 我收到错误 NOAUTH必需的身份验证 。我的laravel版本是5.3,我正在使用predis 1.1.1连接redis。 在etc / redis / redis.conf中,我有: 在.env文件中 在config / database.php中,我有: 我通过以下方式连接redis: 并像这样使用它: 因此,当我注释掉并将密码发送为null时,它可以工作,但在密码到位后却无法工
我尝试使用@ControllerAdvise+@ExceptionHandler来捕获ConstraintViolationException,但是它似乎是以前捕获的,抛出的是TransactionSystemException。 验证数据是非常基本的事情,但出于某种原因,在搜索了很多次之后,我还没有找到解决方案。 编辑:显示代码:
我们正在开发一个iOS应用程序,它使用谷歌来验证firebase。根据https://www . Firebase . com/docs/IOs/guide/user-auth . html # section-log in Firebase说,auth令牌每24小时过期一次。我们想知道以下场景是否是我们需要考虑的: 用户通过Google和Firebase进行身份验证 我们的应用程序将获得一个24
} 要获取令牌,我执行以下步骤: > 使用浏览器转到:http://localhost:9000/oauth/authorize?response_type=code&client_id=test&redirect_uri=http%3a%2f%2flocalhost%3a8080%2f&scope=write 首先,它将我重定向到一个登录表单,在那里我输入用户名和密码:admin abc 请帮我
我有我的应用程序在本地工作正常,但当我试图连接到远程服务器我得到这个错误:CLIENT_PLUGIN_AUTH是必需的。
我正在开发JDK 1.8,但我不知道为什么“发布”不起作用。Redis“set”命令正在处理数据。 代码段: 从日志调试输出: