
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.11.1</version>
</dependency>
package com.ldj.cloud.user;
import com.ldj.cloud.user.factory.JedisConnectionFactory;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import redis.clients.jedis.Jedis;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* User: ldj
* Date: 2024/5/12
* Time: 11:26
* Description: No Description
*/
public class UserApplicationTest {
private Jedis jedis;
@BeforeEach
public void setUp() {
//jedis = new Jedis("192.168.126.130", 6379);
jedis = JedisConnectionFactory.getConnection();
jedis.select(0);
}
@AfterEach
public void destroy() {
if (jedis != null) {
//未使用连接池前
//jedis.getConnection().disconnect();
//使用连接池,会归还连接池,由连接池控制是否释放
jedis.close();
}
}
@Test
public void testJedis() {
jedis.set("string", "9999");
Map<String, String> map = new LinkedHashMap<>();
map.put("b", "张三");
map.put("a", "19");
map.put("c", "男");
jedis.hset("hash", map);
}
}
package com.ldj.cloud.user.factory;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* User: ldj
* Date: 2024/5/12
* Time: 12:00
* Description: Jedis连接池
*/
public class JedisConnectionFactory {
private static final JedisPool JEDIS_POOL;
static {
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
//允许创建最大连接数
jedisPoolConfig.setMaxTotal(10);
//最大空闲连接,假设创建10个连接,当连接处理完后,会立马(10-5),剩余5个会等待一会
jedisPoolConfig.setMaxIdle(5);
//如果最大空闲连接在规定2000ms没有被使用,就要释放到最小空闲连接数,这里是保留1个常驻连接,也可以设置0全部释放
jedisPoolConfig.setMinIdle(1);
jedisPoolConfig.setMaxWaitMillis(1000);
JEDIS_POOL = new JedisPool(jedisPoolConfig, "192.168.126.130", 6379, 5000);
}
public static Jedis getConnection(){
return JEDIS_POOL.getResource();
}
}