1、新建一个maven项目,在pom.xml文件添加jedis依赖
<dependencies>
<!--jedis的依赖-->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.2.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
</dependency>
</dependencies>
2、在测试类中,测试Jedis单实例连接
import org.junit.Test;
import redis.clients.jedis.Jedis;
public class TestJedis {
@Test
public void testJedis(){
//设置redis服务器的IP和端口
Jedis jedis = new Jedis("192.168.126.124",6379);
//测试是否连接到远程redis,输出pong代表连接成功
System.out.println(jedis.ping());
jedis.set("name","chendewen is cool");
String name = jedis.get("name");
System.out.println(name);
//释放资源
jedis.close();
}
}
3、运行过程中可能出现的错误
连接超时错误:
解决方法:开放Linux的对外访问的端口6379或关闭Linux的防火墙
#开发端口
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
/etc/rc.d/init.d/iptables save
#查看防火墙状态
systemctl status firewalld.service
#关闭防火墙
systemctl stop firewalld.service
连接被拒绝错误: redis服务器默认只允许本机连接,远程连接要修改redis.conf。
解决方法:vim redis.conf
1)输入/bind 127.0.0.1 回车,将bind 127.0.0.1改为#bind 127.0.0.1(注释掉)
2)找到 protected-mode yes,将yes改为no
4、运行成功
Jedis连接池
@Test
public void testJedisPool() {
// 1、创建连接池配置对象
JedisPoolConfig config = new JedisPoolConfig();
// 1.1、 最大连接数
config.setMaxTotal(20);
// 1.2、最大空闲连接数
config.setMaxIdle(10);
// 2、连接池对象
JedisPool pool = null;
// 3、核心对象
Jedis jedis = null;
try {
// 4、初始化连接池
pool = new JedisPool(config, "192.168.126.124", 6379);
// 5、获取连接
jedis = pool.getResource();
// 6、设置数据
jedis.sadd("myset", "a", "b", "c");
// 7、获取数据
Set<String> smembers = jedis.smembers("myset");
for (String m : smembers) {
System.out.println(m);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 将连接返回给连接池
if (jedis != null) {
jedis.close();
}
// 销毁连接池,释放资源,一般在程序关闭时调用
if (pool != null) {
pool.destroy();
}
}
}