jedisPoolUtils:
package com.oarage.common.basedata.redis;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* @author:qsc
* @date: 2019/12/27
* @time: 10:09
* @Describe:redis连接池
*/
public class jedisPoolUtils {
private static volatile JedisPool jedisPool=null;
private jedisPoolUtils(){}
public static JedisPool getJedisPoolInstance(){
if(jedisPool==null){
synchronized (jedisPoolUtils.class){
if(jedisPool==null){
JedisPoolConfig poolConfig=new JedisPoolConfig();
//总数
poolConfig.setMaxTotal(1000);
//控制一个pool中最多有多少个空闲状态的实例
poolConfig.setMaxIdle(50);
//最大的等待
poolConfig.setMaxWaitMillis(100*1000);
//获得实例的时候检查连接是否可用(ping),为true,则得到的实例均是可用的
poolConfig.setTestOnBorrow(true);
jedisPool=new JedisPool(poolConfig,"127.0.0.1",6379);
}
}
}
return jedisPool;
}
public static void release(JedisPool jedisPool,Jedis jedis){
if(null!=jedis){
jedisPool.returnBrokenResource(jedis);
}
}
}
poolTest:
package com.oarage.common.basedata.redis;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
/**
* @author:qsc
* @date: 2019/12/27
* @time: 10:24
* @Describe:
*/
public class poolTest {
public static void main(String[] args) {
JedisPool jedisPool=jedisPoolUtils.getJedisPoolInstance();
Jedis jedis=null;
try {
jedis=jedisPool.getResource();
jedis.set("aa","bb");
}catch (Exception e){
}finally {
jedisPoolUtils.release(jedisPool,jedis);
}
}
}