packagecom.xiaomi.weather.vote.webservices.util.redisCache;importcom.google.common.base.Strings;importorg.apache.log4j.Logger;importredis.clients.jedis.HostAndPort;importredis.clients.jedis.JedisCluster;importredis.clients.jedis.JedisPoolConfig;importjava.io.InputStream;import java.util.*;/*** Created by mi on 16-12-22.*/
public classRedisClusterClient {private static final Logger logger = Logger.getLogger(RedisClusterClient.class);private static String isOn = "true"; //是否启用缓存
private static JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); //配置信息
public JedisCluster jedisCluster = null;
Set jedisClusterNodes = new HashSet();public static RedisClusterClient redisClusterClient = newRedisClusterClient();publicRedisClusterClient() {
init();
}public staticRedisClusterClient getInsance() {if (redisClusterClient != null) {returnredisClusterClient;
}else{
redisClusterClient= newRedisClusterClient();returnredisClusterClient;
}
}public booleaninit() {try{//读取配置文件
InputStream path = RedisClusterClient.class.getClassLoader().getResourceAsStream("cache.properties");
Properties pros= newProperties();
pros.load(path);this.isOn = pros.getProperty("redis.onoff", "true");//默认开启缓存
if (this.isOn.equals("false")) {//未开启缓存
return false;
}// String servers = pros.getProperty("redisMultiCluster.clusters", null);if(Strings.isNullOrEmpty(servers)) {
logger.error("RedisJavaClient.servers 配置错误; in file:cache.properties");this.isOn = "false";return false;
}
String[] hostAndPorts= servers.split("\\|");for (int i = 0; i < hostAndPorts.length; i++) {
String hostAndPort=hos