您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
java连接redis服务(用密码连接)
发布时间:2021-11-25 23:22:27编辑:雪饮阅读()
如果redis配置有密码,则用如下代码去连接redis:
import redis.clients.jedis.Jedis;
public class RedisJava {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
//查看服务是否运行
System.out.println("服务正在运行: "+jedis.ping());
}
}
就会出现连接成功,但是auth失败:
C:\phpstudy_pro\WWW\redisLearning\java>C:\jdk1.8.0_121\bin\javac.exe -classpath .\ -Djava.ext.dirs=.\ RedisJava.java
C:\phpstudy_pro\WWW\redisLearning\java>C:\jdk1.8.0_121\bin\java.exe -classpath .\ -Djava.ext.dirs=.\ RedisJava
连接成功
Exception in thread "main" redis.clients.jedis.exceptions.JedisDataException: NOAUTH Authentication required.
at redis.clients.jedis.Protocol.processError(Protocol.java:127)
at redis.clients.jedis.Protocol.process(Protocol.java:161)
at redis.clients.jedis.Protocol.read(Protocol.java:215)
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340)
at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:239)
at redis.clients.jedis.BinaryJedis.ping(BinaryJedis.java:196)
at RedisJava.main(RedisJava.java:10)
配置了错误的密码:
import redis.clients.jedis.Jedis;
public class RedisJava {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
//设置连接密码
jedis.auth("12345");
System.out.println("连接成功");
//查看服务是否运行
System.out.println("服务正在运行: "+jedis.ping());
}
}
又会报无效密码错误:
C:\phpstudy_pro\WWW\redisLearning\java>C:\jdk1.8.0_121\bin\javac.exe -classpath .\ -Djava.ext.dirs=.\ RedisJava.java
C:\phpstudy_pro\WWW\redisLearning\java>C:\jdk1.8.0_121\bin\java.exe -classpath .\ -Djava.ext.dirs=.\ RedisJava
Exception in thread "main" redis.clients.jedis.exceptions.JedisDataException: ERR invalid password
at redis.clients.jedis.Protocol.processError(Protocol.java:127)
at redis.clients.jedis.Protocol.process(Protocol.java:161)
at redis.clients.jedis.Protocol.read(Protocol.java:215)
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340)
at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:239)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:96)
at redis.clients.jedis.Connection.sendCommand(Connection.java:126)
at redis.clients.jedis.Connection.sendCommand(Connection.java:117)
at redis.clients.jedis.BinaryClient.auth(BinaryClient.java:564)
at redis.clients.jedis.BinaryJedis.auth(BinaryJedis.java:2138)
at RedisJava.main(RedisJava.java:7)
我这里正确密码是123456,配置正确密码后就ok了:
import redis.clients.jedis.Jedis;
public class RedisJava {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
//设置连接密码
jedis.auth("123456");
System.out.println("连接成功");
//查看服务是否运行
System.out.println("服务正在运行: "+jedis.ping());
}
}
编译并运行结果ok:
C:\phpstudy_pro\WWW\redisLearning\java>C:\jdk1.8.0_121\bin\javac.exe -classpath .\ -Djava.ext.dirs=.\ RedisJava.java
C:\phpstudy_pro\WWW\redisLearning\java>C:\jdk1.8.0_121\bin\java.exe -classpath .\ -Djava.ext.dirs=.\ RedisJava
连接成功
服务正在运行: PONG
关键字词:java,redis,密码,连接