JedisCluster获取key所在的节点

Posted rlxy93

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JedisCluster获取key所在的节点相关的知识,希望对你有一定的参考价值。

JedisCluster获取key所在的节点

2019年11月9日17:34:55

准备

引入jedis的jar包,这个jar包里面包含了JedisCluster,可以用它来操作集群。

        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
        </dependency>

操作

        jedisCluster.set("a","a");
        byte[] as = SafeEncoder.encode("a");
        //获取key对应的slot
        int slot = JedisClusterCRC16.getSlot("a");
        //使用slot获取key所在的节点
        int port = jedisCluster.getConnectionFromSlot(slot).getClient().getPort();
        System.out.println("a的slot值:"+slot);
        System.out.println("对应的节点port值:"+port);

运行结果

技术图片

以上是关于JedisCluster获取key所在的节点的主要内容,如果未能解决你的问题,请参考以下文章

JedisCluster

JedisCluster API 整理

Redis cluster 原理

Redshift集群,如何获取片数信息

如何用java实现基于JedisCluster对象的连接池

获取光标所在的节点