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

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐