package test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class RedisUtil {
public static String ADDR = "192.0.0.0";
//端口
public static int PORT = 6000;
//连接实例的最大连接数
public static int MAX_ACTIVE = 1024;
//控制一个pool最多有多少个状态为idle(空闲的)的jedis实例,默认值也是8。
public static int MAX_IDLE = 200;
//等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接抛出JedisConnectionException
public static int MAX_WAIT = 10000;
//连接超时的时间
public static int TIMEOUT = 10000;
// 在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;
public static Boolean TEST_ON_BORROW = true;
public static JedisPool jedisPool = null;
//初始化链接池
public static void initialPool(){
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(MAX_ACTIVE);
config.setMaxIdle(MAX_IDLE);
config.setMaxWaitMillis(MAX_WAIT);
config.setTestOnBorrow(TEST_ON_BORROW);
jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT);
}
//获取链接
public static Jedis getJedis(){
synchronized(RedisUtil.class){
if (jedisPool != null) {
try {
Jedis resource = jedisPool.getResource();
return resource;
} catch(Exception e) {
}
}
return null;
}
}
//释放链接
public static void returnResuorce(Jedis jedis){
if (jedis != null) jedis.close();
}
}
个人观点,欢迎指正。