1. Jedis实现了连接Redis集群的操作,但是操作Redis集群的API是JedisCluster,和单机版api不一致 (Jedis);

2. 创建JedisCluster需要一个Set集合,Set集合的每一个元素是HostAndPort; JedisCluster实际上可以根据一个节点的IP和端口号自动发现集群中的其它节点;

代码:

package com.etoak;

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

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

public class ClusterTest {
    public static void main(String[] args) {
        //set 集合,用来装集群的ip 和端口的
        Set<HostAndPort> nodes = new HashSet<>();
        //通过for循环把集群的主机信息装到集合
        for (int port = 8001;port<=8006;port++) {
            nodes.add(new HostAndPort("192.168.132.139",port));
        }

        //创建JedisCluster
        JedisCluster cluster = new JedisCluster(nodes);
        //set k v
        cluster.set("name","et2106");
        //hset k field value
        cluster.hset("user:1","id","1");
        cluster.hset("user:1","x","x");
        //sadd
        cluster.sadd("set","a","b","c");

        System.out.println(cluster.get("name"));

        cluster.hgetAll("user:1").forEach((k,v)-> System.out.println(k+":"+v));

        cluster.smembers("set").forEach(x-> System.out.println(x));

        cluster.close();



    }
}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐