Redis解决方案:NOAUTH Authentication required(连接jedis绑定密码或修改redis密码)
Java使用jedis连接redis时出现错误NOAUTH Authentication required
一、问题报错和原因
本地设置了redis的密码,但在远程连接时并没有输入密码,所以无法请求成功!
二、解决方法一:去除或修改本地redis密码
1、打开redis的安装目录,找到redis.windows.conf配置文件
2、找到requirepass foobared位置,在下面添加一行requirepass+你想要的修改的密码(该行注意顶格写),删除这行则没有密码
3、然后重新启动redis再次进入redis-cli命令行窗口则需要输入新的密码
三、解决方法二:连接jedis时绑定密码
1、使用JedisShardInfo时
2、使用Jedis时
public void testJedisSingle(){
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.auth("你的密码");
jedis.set("aaa","123");
String aaa = jedis.get("aaa");
System.out.println(aaa);
jedis.close();
}
3、使用JedisPool时
public void pool() {
JedisPoolConfig config = new JedisPoolConfig();
//最大连接数
config.setMaxTotal(30);
//最大连接空闲数
config.setMaxIdle(2);
JedisPool pool = new JedisPool(config, "127.0.0.1", 6379);
//有密码也可以用下面这个连接方法
//jedisPool = new JedisPool(Config,"127.0.0.1", 6379 ,3000, redisPassword);
Jedis jedis = null;
try {
jedis = pool.getResource();
jedis.auth("你的密码");
jedis.set("name", "123");
String name = jedis.get("name");
System.out.println(name);
}catch(Exception ex){
ex.printStackTrace();
}finally{
if(jedis != null){
//关闭连接
jedis.close();
}
}
}