一、jedis是什么?
Jedis基本使用十分简单,在每次使用时,构建Jedis对象即可。在Jedis对象构建好之后,Jedis底层会打开一条Socket通道和Redis服务进行连接。所以在使用完Jedis对象之后,需要调用Jedis.close()方法把连接关闭,不如会占用系统资源。
我觉得可以通过连接windows的redis服务,也可以连接linux版本的redis服务。
在以往,我们都是直接操作linux,使用xshell开启一个连接服务器,然后创建一个redis服务,开启一个客户端进行连接即可。但是我们知道往往使用redis,都是要在java程序本身来使用的,那么redis就推出了jedis连接开发工具。下面来介绍一下如何使用jedis吧!
二、使用步骤
1.windows版
我们先使用java连接windows版本的redis,首先需要先开启windows版本的redis服务,在我的磁盘找到redis安装目录。
<!--首先导入相关依赖-->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.3.0</version>
</dependency>
//java程序如下,localhost也可以改为127.0.0.1
package com.lhh;
import redis.clients.jedis.Jedis;
public class TestPing {
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost",6379);
System.out.println(jedis.ping());
System.out.println(jedis.get("name"));
}
}
最后运行结果如下:
2.linux版
我们都知道,redis服务还是以linux版本为先,那么我们如何使用jedis连接到远程linux服务器下的redis服务呢?这是一个问题。
首先需要修改一下redis的配置文件,最简单的就是修改bind命令
接下来,我们使用xhsell查看一下redis的状态。
//首先这是我们的连接代码,ip填linux远程服务器ip,端口指定6379
package com.lhh;
import redis.clients.jedis.Jedis;
public class TestPing {
public static void main(String[] args) {
Jedis jedis = new Jedis("192.168.0.217",6379);
System.out.println(jedis.get("name"));
jedis.set("name","zhangsan");
jedis.set("age", String.valueOf(22));
System.out.println(jedis.get("age"));
}
}
运行之后,发现报了一个超时的错误。
出现这个原因,其实是因为自己linux是开启了防火墙的,所以连接不到redis服务,可以查看防火墙状态:
[root@localhost /]# telnet 193.168.0.217 6379
Trying 193.168.0.217...
#结果可知,确实是因为防火墙的原因,那么我们暂时关闭防火墙,或者打开某个指定的端口都可以。
telnet: connect to address 193.168.0.217: Connection timed out
#方式一:打开6379端口
[root@localhost /]# iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
#方式二,关闭防火墙
[root@localhost /]# systemctl stop firewalld.service
最终运行结果就出来了:
三、总结
简单介绍了一下windows下和linux下的关于使用jedis连接redis服务的操作,一般来说,推荐使用第二种方式,因为linux更适用,操作redis也更灵活一点。