Redis 的Java客户端-Jedis

1 Redis的Java客户端有什么

从图中可以看出官方推荐的客户端有三个:Jedis,lettuce,redisson。本文主要是Jedis的使用

2 Jedis是什么

​ jedis就是一个用java实现的可以与Redis连接的客户端,里面封装了Redis的常用命令

3 使用Jedis

​ 新版idea创建maven项目流程:文件->新建->项目->Java

​ 构建系统哪里选择Maven,这样可以创建传统的maven项目

创建好项目后在pom文件中引入以下依赖,引依赖时要注意依赖版本是否对应,我使用的jdk版本是17

1
2
3
4
5
6
7
8
9
10
11
12
13
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.9.3</version>
<scope>test</scope>
</dependency>
</dependencies>

创建测试类,在测试类里首先要先连接Redis

1
2
3
4
5
@BeforeEach
void setUp(){
jedis=new Jedis("127.0.0.1",6379);
jedis.select(0);
}

这段代码连的是本地的Redis服务端,由于没设密码,所以密码不用写,有密码的要加入以下代码

1
jedis.auth("密码")

然后就可以使用jedis操作Redis了

最后不要忘了释放资源

1
2
3
4
5
6
@AfterEach
void tearDown() {
if (jedis != null) {
jedis.close();
}
}

4 Jedis连接池

由于频繁创建和销毁会损耗性能,并且Jedis本身是线程不安全的,所以推荐使用Jedis连接池

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import redis.clients.jedis.*;

public class JedisConnectionFactory {

private static JedisPool jedisPool;

static {
// 配置连接池
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(8);
poolConfig.setMaxIdle(8);
poolConfig.setMinIdle(0);
poolConfig.setMaxWaitMillis(1000);
// 创建连接池对象,参数:连接池配置、服务端ip、服务端端口、超时时间、密码
jedisPool = new JedisPool(poolConfig, "127.0.0.1", 6379, 1000, "密码");
}

public static Jedis getJedis(){
return jedisPool.getResource();
}
}