通过 Java 操作 redis -- zset 有序集合基本命令

目录

[使用命令 zadd,zrange](#使用命令 zadd,zrange)

[使用命令 zcard](#使用命令 zcard)

[使用命令 zrem](#使用命令 zrem)

[使用命令 zscore](#使用命令 zscore)

[使用命令 zrank](#使用命令 zrank)


关于 redis zset 有序集合类型的相关命令推荐看Redis - Zset 有序集合

要想通过 Java 操作 redis,首先要连接上 redis 服务器推荐看通过 Java 操作 redis -- 连接 redis

本博客只介绍了一小部分常用的命令,其他的命令根据上面推荐的博客也能很简单的使用出来(推荐先看上面推荐的博客,有 redis 的原生命令)

使用命令 zadd,zrange

java 复制代码
    /**
     * 使用命令 zadd,zrange
     * */
    public static void test1(Jedis jedis){
        //清空 redis 所有数据库中的数据
        jedis.flushAll();

        //向 redis 中插入类型为 zset 的键值对 key1,有序集合的元素为 zhangsan,分数为 10
        //返回值为插入成功的元素个数
        long result1=jedis.zadd("key1",10,"zhangsan");
        System.out.println("result1:"+result1);

        Map<String,Double> map=new HashMap<>();
        map.put("lisi",20.0);
        map.put("wangwu",30.0);

        //配合 Map,一次性向 key1 对应的有序集合中插入两个元素
        //返回值为插入成功的元素个数
        long result2=jedis.zadd("key1",map);
        System.out.println("result2:"+result2);

        //获取 key1 对应的有序集合中,下标 0 ~ -1(最后一位)之间的所有元素
        List<String> result3=jedis.zrange("key1",0,-1);
        System.out.println("result3:"+result3);

        //获取 key1 对应的有序集合中,下标 0 ~ -1(最后一位)之间的所有元素和分数
        // Tuple 是 Jedis 中定义的类,表示元组,元素和分数表示一个二元组
        List<Tuple> elementAndScore=jedis.zrangeWithScores("key1",0,-1);
        System.out.println("elementAndScore:"+elementAndScore);

        //通过 List<Tuple> 类型的对象可以获取指定下标元组的元素
        String result4=elementAndScore.get(0).getElement();
        System.out.println("result4:"+result4);

        //通过 List<Tuple> 类型的对象可以获取指定下标元组的分数
        Double result5=elementAndScore.get(0).getScore();
        System.out.println("result5:"+result5);
    }

运行结果

使用命令 zcard

java 复制代码
    /**
     * 使用命令 zcard
     * */
    public static void test2(Jedis jedis){
        //清空 redis 所有数据库中的数据
        jedis.flushAll();

        Map<String,Double> map=new HashMap<>();
        map.put("zhangsan",10.0);
        map.put("lisi",20.0);
        map.put("wangwu",30.0);

        jedis.zadd("key1",map);

        //获取有序集合 key1 中的元素个数
        long result1=jedis.zcard("key1");
        System.out.println("result1:"+result1);
    }

运行结果

使用命令 zrem

java 复制代码
    /**
     * 使用命令 zrem
     * */
    public static void test3(Jedis jedis){
        //清空 redis 所有数据库中的数据
        jedis.flushAll();

        Map<String,Double> map=new HashMap<>();
        map.put("zhangsan",10.0);
        map.put("lisi",20.0);
        map.put("wangwu",30.0);

        jedis.zadd("key1",map);

        //删除 key1 对应的有序集合中的元素 zhangsan 和 lisi ,返回删除成功的元素个数
        long result1=jedis.zrem("key1","zhangsan","lisi");
        System.out.println("result1:"+result1);
    }

运行结果

使用命令 zscore

java 复制代码
    /**
     * 使用命令 zscore
     * */
    public static void test4(Jedis jedis){
        //清空 redis 所有数据库中的数据
        jedis.flushAll();

        Map<String,Double> map=new HashMap<>();
        map.put("zhangsan",10.0);
        map.put("lisi",20.0);
        map.put("wangwu",30.0);

        jedis.zadd("key1",map);

        Double result1=jedis.zscore("key1","zhangsan");
        System.out.println("result1:"+result1);
    }

运行结果

使用命令 zrank

java 复制代码
    /**
     * 使用命令 zrank
     * */
    public static void test5(Jedis jedis){
        //清空 redis 所有数据库中的数据
        jedis.flushAll();

        Map<String,Double> map=new HashMap<>();
        map.put("zhangsan",10.0);
        map.put("lisi",20.0);
        map.put("wangwu",30.0);

        jedis.zadd("key1",map);

        //获取 key1 对应的有序集合中,元素 zhangsan 对应的排名
        Long result1=jedis.zrank("key1","zhangsan");
        System.out.println("result1:"+result1);
    }

运行结果

相关推荐
道可到3 小时前
Java 反射现代实践速查表(JDK 11+/17+)
java
侃侃_天下3 小时前
最终的信号类
开发语言·c++·算法
christine-rr3 小时前
linux常用命令(4)——压缩命令
linux·服务器·redis
道可到3 小时前
Java 反射现代实践指南(JDK 11+ / 17+ 适用)
java
玉衡子3 小时前
九、MySQL配置参数优化总结
java·mysql
叽哥3 小时前
Kotlin学习第 8 课:Kotlin 进阶特性:简化代码与提升效率
android·java·kotlin
麦兜*3 小时前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud
带刺的坐椅3 小时前
DamiBus v1.1.0 发布(给单体多模块解耦)
java·事件总线·damibus
葡萄城技术团队3 小时前
用 Java 构建健壮 REST API 的 4 个关键技巧
java
杨杨杨大侠3 小时前
解密 atlas-mapper 框架 (9/10):故障排查与调试技巧
java·开源·github