2021-08-06-Set -ZSet

Set:

    Jedis jedis = new Jedis("127.0.0.1", 6379);
        jedis.sadd("person1","hyf","lls");
        jedis.sadd("person1","lms");
        jedis.sadd("person1","hyf1","lls1");
        jedis.sadd("person1","lms1");
        //获取set的所有key




        Set<String> person1 = jedis.smembers("person1");
        for (String s : person1) {
            System.out.println(s);
        }
        System.out.println();

        System.out.println(jedis.smembers("person1"));
        //随机pop掉
        String spop = jedis.spop("person1");
        System.out.println(spop);
        System.out.println(jedis.smembers("person1"));


        //是否存在这个key
        Boolean sismember = jedis.sismember("person1", "hyf");
        System.out.println(sismember);

        //查看set key个数
        Long scard = jedis.scard("person1");
        System.out.println(scard);

        //删指定元素
        jedis.srem("person1","hyf1");
        System.out.println(jedis.scard("person1"));

        System.out.println("---------------------------------");

//        在set中随机搞几个元素
        List<String> list = jedis.srandmember("person1", 2);
        for (String s : list) {
            System.out.print(s+" ");
        }
        System.out.println();

        //set1的key转移到set2
        jedis.smove("set1","set2","key");

ZSet:

 Jedis jedis = new Jedis("127.0.0.1", 6379);
        jedis.zadd("zset01",99.0,"wjz");
        jedis.zadd("zset01",new HashMap<String,Double>(){
            {
                put("lb",60.00);
                put("hyf",80.00);
                put("lls",70.00);
            }
        });

        Set<String> zset01 = jedis.zrange("zset01", 0, -1);
        for (String s : zset01) {
            System.out.println(s);
        }
        System.out.println();
        //带上score的结构是Tuple(暂时不知道是啥 反正有key 和 value)
        Set<Tuple> zset011 = jedis.zrangeWithScores("zset01", 0, -1);
        for (Tuple tuple : zset011) {
            System.out.println(tuple.getElement()+":"+tuple.getScore());
        }
        System.out.println();

        //通过限定score段查询  可以设置 limit 即第3第4个参数  从哪个下标开始的后几个元素
        Set<String> zset012 = jedis.zrangeByScore("zset01", 70, 90,1,2);
        for (String s : zset012) {
            System.out.print(s+" ");
        }
        System.out.println();
//        result:
//        lb:60.0
//        lls:70.0
//        hyf:80.0
//        wjz:99.0

        //删除set的指定key
        jedis.zrem("zset01","lb");

        //key数量
        System.out.println(jedis.zcard("zset01"));

        //统计分数段key个数
        jedis.zcount("zset01",70,80);

        //查看key排名 分数低的优先,下标从0开始
        System.out.println(jedis.zrank("zset01", "lls"));

        //查看某个键的值
        jedis.zscore("zset01","wjz");
        System.out.println("-----------------");

        //利用(key)读取翻转的zset
//        Set<String> zrevrange = jedis.zrevrange("zset01", 0, -1);
//        for (String s : zrevrange) {
//            System.out.println(s);
//        }

        Set<String> zset02 = jedis.zrange("zset01", 0, -1);
        for (String s : zset02) {
            System.out.println(s);
        }
        System.out.println("-----------------");

        //利用(score)读取翻转的zset (这个返回值是个long 怪怪的,感觉没用?)
        jedis.zremrangeByScore("zset01",100,70);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值