Jedis连接Redis
导入Jar包
这里使用Maven项目,在POM中添加以下依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.5.2</version>
</dependency>
version会随时时间更改,可以访问https://mvnrepository.com/查询最新的version
测试连接
Jedis jedis = new Jedis("192.168.150.3", 6379);
System.out.println(jedis.ping());
如果执行成功会返回“PONG”
我采用了GentOS 7虚拟机中安装Redis测试(本机测试使用127.0.0.1没有问题,原因下面略微解释以下),第一次连接会提示连接失败异常,一般是以下两个原因:
- Linux的防火墙没有放行端口,一般我们采用6379端口开启Redis,所以配置放行6379端口
# 添加指定需要开放的端口:
firewall-cmd --add-port=6379/tcp --permanent
#重载入添加的端口:
firewall-cmd --reload
#查询指定端口是否开启成功:
firewall-cmd --query-port=6379/tcp
- Redis配置的问题,处于安全问题,Redis默认只允许本机(127.0.0.1)连接Redis,否则Redis若直接暴露在公网之下,任何人都可以随意访问,可想而知你的数据一定是在“裸奔”,不过一般我们连接远程服务器的话,需要开启,那么你最好设置一个Redis访问密码(本文不作设置),下面命令配置允许连接Redis的IP(我配置的IP的是安装了Redis的虚拟机的IP)
vim redis-conf
# 下面这个命令是vim的命令行执行
/bind # 查找bind关键字,此时你可以看看那一段对应的英文,解释的很详细
# 然后在配置文件中修改 bind 127.0.0.1 --- 为
bind 192.168.150.3
# 回到Linux的终端
redis-server redis-conf # 重新通过配置文件开启Redis
操作Redis
测试连接成功之后,你可以任意的操作Redis,所有的操作方法都可以从创建的Jedis对象中找到,你直接在命令行如何操作Redis,就找到对应的方法去操作即可,例如:
jedis.set("k1", "v1");
System.out.println(jedis.get("k1"));
使用完毕之后可以关闭连接 jedis.close();
Redis事务
想了想,事务也比较重要,在这里也简单演示一下,使用Jedis进行Redis事务操作
Transaction multi = jedis.multi(); // 开启事务,获取事务对象
try {
multi.set("k1", "v1");
multi.mset("k2","v2","k3", "v3");
multi.exec(); // 执行事务
} catch (Exception e) {
multi.discard(); // 回滚
e.printStackTrace();
} finally {
jedis.close(); // 关闭连接
}