Jedis连接Redis
第一步:创建(Maven)项目,导入依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.2</version>
</dependency>
版本可更改
注意的点:
1. 确认远程服务器是否可以ping通: ping vm的ip地址
2. 确认vm防火墙是否关闭或放行
查看防火墙状态: systemctl status firewalld
启动防火墙: systemctl start firewalld
关闭防火墙: systemctl stop firewalld
查询防火墙服务是否开机启动:systemctl is-enabled firewalld
开机时启用防火墙服务:systemctl enable firewalld
开机时禁用防火墙服务:systemctl disable firewalld
第二步:链接服务器
方案一:单实例链接
核心代码如下:
public static void main(String[] args) {
Jedis jedis=new Jedis("192.168.197.129",6379);
//设置值
jedis.set("java001","java工程师");
String java001 = jedis.get("java001");
System.out.println(java001);
}
可能出现的异常:
虚拟机客户端连接的ip是127.0.0.1,意思是连接的本机,其他机器无法连接,这里需要修改配置文件,将连接地址改为虚拟机的地址, 就可以了。
修改redis.conf文件里面的 bind 连接地址,将连接地址改为自己虚拟机的ip
bind 192.168.197.129
方案二:连接池
// 1.获取连接池配置对象,设置配置项
JedisPoolConfig config = new JedisPoolConfig();
// 1.1最大的连接数
config.setMaxTotal(30);
// 1.2最大的空闲
config.setMaxIdle(10);
// 2.获取连接池
JedisPool jedisPool = new JedisPool(config, "192.168.197.129", 6379);
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
// 3.设置数据
jedis.set("name", "张三");
String name = jedis.get("name");
System.out.println("name=" + name);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (jedis != null) {
jedis.close();
}
// 4.虚拟机关闭的时候,释放资源
if (jedisPool != null) {
jedisPool.close();
}
}