springboot -redis 集群

1. 在resources/application.properties中添加集群连接参数

spring.redis.cluster.nodes=120.77.172.111:7000,120.77.172.111:7001,120.77.172.111:7002,120.77.172.111:7003,120.77.172.111:7004,120.77.172.111:7005

2. 创建RedisClusterConfig类用来读取集群配置信息

伪代码:

@Configuration
public class RedisConfig{

  private RedisPropery redisproperty;
 public JedisPoolConfig getConfig(){

JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(redisproperty.getPOOL_MAX_ACTIVE);
        config.setMaxIdle(redisproperty.get.POOL_MAX_IDLE);
        config.setMaxWaitMillis(redisproperty.getPOOL_MAX_WAIT);
        config.setMinIdle(redisproperty.get.POOL_MIN_IDLE);
        config.setTestOnBorrow(true);
        config.setTestOnReturn(true);

}

@Bean
public JedisCluster getJedisCluster(){
// 截取集群节点
String[] cluster = clusterNodes.split(",");
// 创建set集合
Set<HostAndPort> nodes = new HashSet<HostAndPort>();
// 循环数组把集群节点添加到set集合中
for (String node : cluster) {
String[] host = node.split(":");
//添加集群节点
nodes.add(new HostAndPort(host[0], Integer.parseInt(host[1])));


}
JedisCluster jc = new JedisCluster(nodes,getConfig());

return jc;

}

}

3. 使用

@Autowired

private JedisCluster jedisCluster;

jedisCluster.set(prefix + KEY_SPLIT + key, value);  

模糊匹配:

TreeSet keys= new TreeSet();

Map<String,jedisPool> nodes = jedisCluster.getClustweNodes();

for(String k:nodes.keyset()){

    JedisPool jp = nodes.get(k);

   Jedis conn = jp.getResource();

keys.addAll(connect.keys(pattern));

}

conn,close();


猜你喜欢

转载自blog.csdn.net/zhuchunyan_aijia/article/details/80747130