我们基于jedis访问redis时,每次都要获取连接,然后每次都要创建jedis ,释放连接会带来很大的性能开销,我们使用连接池,可以提高性能。
使用步骤 简单的demo演示public class jedisPooltTest {
@Test
public void testJedisPool(){
String host = "192.168.126.129";
int port = 6379;
//定义连接 池配置
JedisPoolConfig confid = new JedisPoolConfig();
confid.setMaxTotal(16);//最大连接数,默认8
confid.setMaxIdle(60);//最大空闲时间,连接后不用,超过时间自动释放。
//构建jedis连接池
JedisPool jedisPool = new JedisPool(confid,host,port);
//从池中获取连接
Jedis resource = jedisPool.getResource();
//执行redis操作
resource.set("pool", "jedis");
String pool = resource.get("pool");
System.out.println(pool);
//释放资源
resource.close();//(不是关,而是将连接还回池中)
// jedisPool.close();//关闭池,服务停止时关
}
使用连接池到具体的业务中
第一步:建立redis数据源,想到与数据库原
public class JedisDateSource {
private static final JedisPool jedisPool;
private static final String host = "192.168.126.129";
private static final int port = 6379;
static {
//定义连接 池配置
JedisPoolConfig confid = new JedisPoolConfig();
confid.setMaxTotal(16);//最大连接数,默认8
confid.setMaxIdle(60);//最大空闲时间,连接后不用,超过时间自动释放。
jedisPool = new JedisPool(confid,host,port);
}
//获取连接
public static Jedis getConnection(){
return jedisPool.getResource();
}



