一:需要Redis环境
二:创建Spring boot 项目
导入依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.2.3</version>
</dependency>
创建连接池
public class jedisuit {
private static JedisPool jedisPool =null;
static {
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(100);
poolConfig.setMaxIdle(20);
poolConfig.setMinIdle(5);
poolConfig.setMaxWaitMillis(3000);
jedisPool = new JedisPool(poolConfig, "127.0.0.1", 6379, 5000);
}
public static Jedis getJedisPool(){
return jedisPool.getResource();
}
}
public class redistest {
public Jedis jedis;
/*
BeforeEach:用于指定在每个测试用例执行之前需要执行的代码块或方法。通常用于初始化测试环境或准备测试数据。
*/
@BeforeEach
void setUp() {
//使用jedisPool连接池
jedis= jedisuit.getJedisPool();
}
//逻辑
@Test
void test() {
String set = jedis.set("芽衣", "贴贴");
System.out.println(set);
String yayi = jedis.get("芽衣");
System.out.println(yayi);
}
@Test
void adddhash(){
jedis.hset("id:1","ya","yi");
jedis.hset("id:1","aili","xiya");
Map<String, String> stringStringMap = jedis.hgetAll("id:1");
System.out.println( stringStringMap );
}
//释放连接
//使用了连接池它不是销毁,而是归还
@AfterEach
void tearDown() {
if(jedis!=null){
jedis.close();
}
}
}
三 连接池的常用方法
1、maxTotal:资源池中最大的连接数 默认:8
2、maxIdle:资源池允许最大空闲的连接数 默认:8
3、minIdle:资源池确保最少空闲的连接数 默认0
4、blockWhenExhausted:当资源池用尽后,调用者是否要等待,默认值为true。当为true时,maxWaitMillis才会生效。
5、maxWaitMillis:当资源池连接用尽后,调用者的最大等待时间(单位为毫秒)。默认值为-1,表示永不超时。
6、testOnBorrow:向资源池借用连接时,是否做有效性检测(ping命令),如果是无效连接,会被移除,默认值为false,表示不做检测。
7、testOnReturn:向资源池归还连接时,是否做有效性检测(ping命令),如果是无效连接,会被移除,默认值为false,表示不做检测。
8、testWhileIdle:如果为true,表示用一个专门的线程对空闲的连接进行有效性的检测扫描,如果有效性检测失败,即表示无效连接,会从资源池中移除。
9、timeBetweenEvictionRunsMillis:表示两次空闲连接扫描的活动之间,要睡眠的毫秒数,默认为30000毫秒,也就是30秒钟。
10、minEvictableIdleTimeMillis:表示一个Jedis连接至少停留在空闲状态的最短时间,然后才能被空闲连接扫描线程进行有效性检测,默认值为60000毫秒,即60秒。
11、numTestsPerEvictionRun:表示空闲检测线程每次最多扫描的Jedis连接数,默认值为-1,表示扫描全部的空闲连接。
12、jmxEnabled:是否开启jmx监控,默认值为true。