学习记录04 --- 使用java连接redis数据库进行操作

Posted huajidafahao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习记录04 --- 使用java连接redis数据库进行操作相关的知识,希望对你有一定的参考价值。

现在先简单的尝试下java如何连接上redis数据库

首先我们需要一个jedis.jar架包,我下载的是2.9.0的版本

附上下载地址,点击我下载

开始我们的常规操作,打开idea,导入架包,emmmmm,感觉这次会写的特别简短

先导包

import redis.clients.jedis.Jedis;

我们需要连接redis数据库的话,都是依赖于jedis对象而来的,我们先得new出一个jedis对象

//new一个Jedis对象,连接redis数据库
Jedis jedis = new Jedis("192.168.200.128",6379);

可以看到这个对象的构造函数有2个参数,第一个就是你redis服务器的ip,第二个则是端口号,特别容易懂

先测试服务器是否继续连接上,可以使用ping方法来测试是否连接,附上代码

 1 import redis.clients.jedis.Jedis;
 2 
 3 public class demo 
 4 
 5     public static void main(String[] args) 
 6         //new一个Jedis对象,连接redis数据库
 7         Jedis jedis = new Jedis("192.168.200.128",6379);
 8         //检测服务器是否正在运行
 9         System.out.println("检测redis数据库是否运行:"+jedis.ping());
10     
11 

 

结果报了个异常,让我一脸懵逼

1 Exception in thread "main" redis.clients.jedis.exceptions.JedisDataException: NOAUTH Authentication required.
2     at redis.clients.jedis.Protocol.processError(Protocol.java:127)
3     at redis.clients.jedis.Protocol.process(Protocol.java:161)
4     at redis.clients.jedis.Protocol.read(Protocol.java:215)
5     at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340)
6     at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:239)
7     at redis.clients.jedis.BinaryJedis.ping(BinaryJedis.java:196)
8     at demo.main(demo.java:9)

上面提示是第九行,查了下这个异常的问题,原来是因为redis的保护机制,需要将redis的受保护模式设为no

紧接着我连接上了虚拟机,执行以下命令即可关闭受保护模式。

redis-cli -a 123456   //进入redis命令行
config set protected-mode "no"   //关闭受保护模式

这样就关闭了受保护模式,结果依旧报异常,后来我想到了是不是因为我redis设置了密码的原因

于是我上网查了如果密码连接redis,了解到需要用一个auth的方法来验证密码

//密码验证
jedis.auth("123456");

再次运行终于可以了,欧耶~

当然这只是连接上了数据库,我们要对redis进行一些简单的数据操作

接下来对最常用的String实例进行操作

也很简单,Jedis对象有个set方法,可以设置String实例

同时有一个get方法,可以获取redis的实例

1 //设置String实例
2  jedis.set("猜猜我是谁","我就是一只路过的菜鸡");
3 //获取String实例
4 System.out.println("服务器存取的字符串为:"+jedis.get("猜猜我是谁"));

今天也就实现一些简单的操作,先是了解java如何连接redis并进行操作,贴上所有代码

 1 import redis.clients.jedis.Jedis;
 2 
 3 public class demo 
 4 
 5     public static void main(String[] args) 
 6         //new一个Jedis对象,连接redis数据库
 7         Jedis jedis = new Jedis("192.168.200.128",6379);
 8         //密码验证
 9         jedis.auth("123456");
10         //检测服务器是否正在运行
11         System.out.println("检测redis数据库是否运行:"+jedis.ping());
12         //设置String实例
13         jedis.set("猜猜我是谁","我就是一只路过的菜鸡");
14         //获取String实例
15         System.out.println("服务器存取的字符串为:"+jedis.get("猜猜我是谁"));
16     
17 

 

以上是关于学习记录04 --- 使用java连接redis数据库进行操作的主要内容,如果未能解决你的问题,请参考以下文章

我在工作中遇到的redis集群使用

golang 如何连接redis --- 2022-04-03

redis在Java开发中的连接使用

Redis学习与总结

Redis学习记录

redis最大连接数