package com.***
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisConnectUtil {
private final static String IP_ADDR = "192.168.1.000";//RedisIP地址
private final static int PORT = 6379;//端口
private static final int TIMEOUT = 300;//超时
// private final static String AUTH = "";
//连接池config配置信息
private final static int MAX_IDLE = 5000;
private final static int MAX_WAIT = 1000000;
private final static int MAX_TOTAL = 10240;
private final static boolean TEST_ON_BORROW = true;
private final static boolean TEST_ON_RETURE = true;
private final static int MAX_INDEX = 16;
private static JedisPool[] jedisPool = null;
static{
// 构建连接池配置信息
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(MAX_IDLE);
config.setMaxWaitMillis(MAX_WAIT);
// 设置最大连接数
config.setMaxTotal(MAX_TOTAL);
config.setTestOnBorrow(TEST_ON_BORROW);
config.setTestOnReturn(TEST_ON_RETURE);
// 根据配置实例化jedis池
jedisPool = new JedisPool[MAX_INDEX];
for (int i = 0; i < jedisPool.length; i++) {
jedisPool[i] = new JedisPool(config, IP_ADDR, PORT, TIMEOUT, null, i);
}
}
/**
* 【**系统】链接redis数据库【内网db*】
* @return
*/
public static Jedis getJedisDB(){
return getJedisDB(*);
}
/**
* 使用jedis 链接【**项目】redis数据库【内网db0】
* @return
*/
public static Jedis getJedisDB0(){
return getJedisDB(0);
}
/**
* 选择连接Redis的一个库[共16个:db0~db15]
* @param index 库的索引
* @return
*/
public synchronized static Jedis getJedisDB(int index){
if (jedisPool != null){
return jedisPool[index].getResource();
}
return null;
}
/**
* 关闭jedis连接(jedis操作完之后需要关闭)
* @param jedis
*/
public static void close(final Jedis jedis){
if (jedis != null) {
jedis.close();
}
}
}