All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jeesuite.cache.redis.cluster.JedisClusterProvider Maven / Gradle / Ivy

There is a newer version: 1.4.0
Show newest version
/**
 * 
 */
package com.jeesuite.cache.redis.cluster;

import java.util.HashSet;
import java.util.Set;

import com.jeesuite.cache.redis.JedisProvider;

import redis.clients.jedis.BinaryJedisCluster;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPoolConfig;


/**
 * 集群 redis服务提供者
 * @description 
* @author vakin * @date 2015年04月23日 */ public class JedisClusterProvider implements JedisProvider { public static final String MODE = "cluster"; private Integer maxRedirections = 3; //重试3次 private JedisCluster jedisCluster; private BinaryJedisCluster binaryJedisCluster; private String groupName; /** * */ public JedisClusterProvider(String groupName,JedisPoolConfig jedisPoolConfig, String[] servers, int timeout) { this.groupName = groupName; Set nodes = this.parseHostAndPort(servers); jedisCluster = new JedisCluster(nodes, timeout, maxRedirections,jedisPoolConfig); binaryJedisCluster = new BinaryJedisCluster(nodes, timeout, maxRedirections,jedisPoolConfig); } private Set parseHostAndPort(String[] servers){ try { Set haps = new HashSet(); for (String part : servers) { String[] ipAndPort = part.split(":"); HostAndPort hap = new HostAndPort(ipAndPort[0], Integer.parseInt(ipAndPort[1])); haps.add(hap); } return haps; }catch (Exception ex) { throw new RuntimeException(ex); } } @Override public JedisCluster get() { return jedisCluster; } @Override public BinaryJedisCluster getBinary() { return binaryJedisCluster; } @Override public void release() {} @Override public void destroy() throws Exception{ jedisCluster.close(); } @Override public String mode() { return MODE; } @Override public String groupName() { return groupName; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy