SpringCloud整合redis报NOAUTH Authentication required

it2022-05-05  126

redis服务器设置的有密码,在yml中配置了redis的密码,但客服端访问时在JedisConnectionFactory中没有被加载进去。 于是我是在代码中设置的reids密码如下:

package com.rrk.wallet.center.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; @Configuration public class RedisConfig { @Bean JedisConnectionFactory jedisConnectionFactory(){ JedisConnectionFactory factory=new JedisConnectionFactory(); factory.setPassword("wpx120516"); return factory; } }

在此启动时,没有报之前的错误,又变成了

{ "timestamp": "2019-07-18 15:38:35", "status": 500, "error": "Internal Server Error", "message": "Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool", "path": "/tbUserCharm/charmTotalRank" }

设置redis访问密码后的访问方式 在服务器上,这里以linux服务器为例,为redis配置密码。

1.第一种方式 (当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效,)

(1)首先进入redis,如果没有开启redis则需要先开启: [root@iZ94jzcra1hZ bin]# redis-cli -p 6379 127.0.0.1:6379> (2)查看当前redis有没有设置密码: 127.0.0.1:6379> config get requirepass

“requirepass”“” (3)为以上显示说明没有密码,那么现在来设置密码: 127.0.0.1:6379> config set requirepass abcdefg OK 127.0.0.1:6379> (4)再次查看当前redis就提示需要密码: 127.0.0.1:6379> config get requirepass (error) NOAUTH Authentication required. 127.0.0.1:6379>

2.第二种方式 (永久方式) 需要永久配置密码的话就去redis.conf的配置文件中找到requirepass这个参数,如下配置: 修改redis.conf配置文件   将requirepass foobared改为 requirepass 123 这样就指定了访问redis的密码123 保存后重启redis就可以了

连接redis 1.redis-cli连接redis [root@iZ2ze3zda3caeyx6pn7c5zZ bin]# redis-cli 127.0.0.1:6379> keys * (error) NOAUTH Authentication required. 127.0.0.1:6379> auth 123 //指定密码 OK 127.0.0.1:6379> keys *

“a”“cit”“clist”“1” 127.0.0.1:6379>

2.Jedis连接redis java 代码方式 //连接redis服务器,192.168.0.100:6379 jedis = new Jedis(“ip”, 6379); //权限认证 jedis.auth(“password”);

配置文件方式

redis的其他命令。 如果需要关闭redis: [root@iZ94jzcra1hZ bin]# pkill redis 如果需要开启redis: [root@iZ94jzcra1hZ bin]# redis-server & 加&符号的作用是为了让此进程转换为后台进程,不占用shell的服务。


最新回复(0)