jedis分片选择库,jedis动态过滤无效服务器
1 jedis分片支持数据库 2 动态的将有故障的服务器过滤掉
使用实例
static ShardedJedisPool shareJedisPool;
static List<JedisShardInfo> jdsInfoList =new ArrayList<JedisShardInfo>();
static{
JedisPoolConfig config =new JedisPoolConfig();//Jedis池配置
config.setMaxActive(Integer.parseInt(PropertyFactory.get("REDIS_SHARD__MAX_ACTIVE")));//最大活动的对象个数
config.setMaxIdle(Integer.parseInt(PropertyFactory.get("REDIS_SHARD__MAX_IDLE")));//对象最大空闲时间
config.setMinIdle(Integer.parseInt(PropertyFactory.get("REDIS_SHARD__MIN_IDLE")));
config.setMaxWait(Integer.parseInt(PropertyFactory.get("REDIS_SHARD__MAX_WAIT")));//获取对象时最大等待时间
config.setTimeBetweenEvictionRunsMillis(Long.parseLong(PropertyFactory.get("REDIS_SHARD__TIME_BETWEEM_EVICTION")));
config.setMinEvictableIdleTimeMillis(Long.parseLong(PropertyFactory.get("REDIS_SHARD__MIN_EVICTABLE_IDLE_TIME")));
config.setTestOnBorrow(true);
config.setWhenExhaustedAction((byte) 0);
int shardNumber=Integer.parseInt(PropertyFactory.get("REDIS_SHARD_NUMBER"));
for(int i=1;i<=shardNumber;i++){
String ip= PropertyFactory.get("REDIS_SHARE_IP_"+i);
String port=PropertyFactory.get("REDIS_SHARE_PORT_"+i);
String dbIndex=PropertyFactory.get("REDIS_SHARE_DBINDEX_"+i);
JedisShardInfo info = new JedisDBShardInfo(ip, Integer.parseInt(port),Integer.parseInt(dbIndex));
jdsInfoList.add(info);
}
shareJedisPool =new ShardedJedisPool(config, jdsInfoList);
}
gson修改版本
该版本修改了gson里面的源代码,修改了 json 转换为map时候,int变成double,在修改中会自动判断属于什么类型,目前支持int long double float