package org.easyrec.utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class JedisUtils {
private static Logger logger = LoggerFactory.getLogger(JedisUtils.class);
private static final String PATH = "redis.properties";
private static Properties pro ;
private static JedisPool jedisPool ;
private static JedisPoolConfig poolConfig ;
static {
InputStream inputStream = JedisUtils.class.getClassLoader().getResourceAsStream(PATH);
try {
pro = new Properties();
pro.load(inputStream);
String host = pro.getProperty("host");
String slave = pro.getProperty("slave_host");
String port = pro.getProperty("port");
String password = pro.getProperty("password");
String timeout = pro.getProperty("timeout");
int maxTotal = Integer.parseInt(pro.getProperty("redis_maxTotal"));
int maxIdle = Integer.parseInt(pro.getProperty("redis_maxIdle"));
int MinIdle = Integer.parseInt(pro.getProperty("redis_minIdle"));
poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(maxTotal);
poolConfig.setMaxIdle(maxIdle);
poolConfig.setMinIdle(MinIdle);
jedisPool = new JedisPool(poolConfig,host,Integer.parseInt(port),Integer.parseInt(timeout),password);
} catch (IOException e) {
logger.error("初始化連接池失敗");
e.printStackTrace();
}
}
private JedisUtils() {
}
private static class JedisUtilsInstance {
private static final JedisUtils INSTANCE = new JedisUtils();
}
public static JedisUtils getInstance() {
return JedisUtilsInstance.INSTANCE;
}
public static JedisPool getJedisCluster(){
return jedisPool;
}
}