当前位置:Gxlcms > 数据库问题 > 学习记录04 --- 使用java连接redis数据库进行操作

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

时间:2021-07-01 10:21:17 帮助过:8人阅读

redis.clients.jedis.Jedis;

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

  1. <span style="color: #008000;">//</span><span style="color: #008000;">new一个Jedis对象,连接redis数据库</span>
  2. Jedis jedis = <span style="color: #0000ff;">new</span> Jedis("192.168.200.128",6379);

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

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

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

 

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

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

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

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

  1. redis-cli -a 123456 <span style="color: #008000;">//</span><span style="color: #008000;">进入redis命令行</span>
  2. config set <span style="color: #0000ff;">protected</span>-mode "no" <span style="color: #008000;">//</span><span style="color: #008000;">关闭受保护模式</span>

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

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

  1. <span style="color: #008000;">//</span><span style="color: #008000;">密码验证</span>
  2. jedis.auth("123456");

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

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

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

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

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

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

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

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

 

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

标签:ESS   有一个   get   打开   string   数据操作   使用   关闭   字符   

人气教程排行