redis学习-Zset集合类型相关命令及特殊情况分析

本文详细介绍了Redis中的Zset数据结构及其关键命令,包括zadd用于插入和更新元素的优先级、zrange和zrevrange用于按顺序和倒序获取元素、zrangebyscore和zrevrangebyscore根据score范围获取元素、zrem移除元素、zcard计算集合长度以及zcount统计score范围内的元素数量。
摘要由CSDN通过智能技术生成

目录

1. zadd key score1 value1 score2 value2 ...

2. zrange key start end

3. zrevrange key start end

4. zrange key min max byscore

5. zrangebyscore key min max

6. zrevrangebyscore key max min

7. zrem key value1 value2 ...

8.  zcard key

9.  zcount key min max


        Zset是有序的Set集合,根据有序的特性可以用作成绩表、排行榜、加权输出等

1. zadd key score1 value1 score2 value2 ...

        向指定的Zset集合插入元素,score则代表要插入元素的优先级,用数字表示,redis会根据score从小到大的顺序将元素插入到Zset中;如果key不存在则会先创建。当插入的元素已有时,则变为更新优先级的操作,并根据新的优先级调换位置;当新插入元素的score和集合中某些元素的score相同时,则会将新元素插入到这些元素的后面。score的值可以为负数。

2. zrange key start end

        根据score从小到大的顺序输出一个Zset集合指定闭区间内的元素,注意这个区间并不是score的区间,而是元素下标的区间,0和-1代表所有元素;可以在后面加上rev表示倒序输出,此时下标区间则变为倒序后元素的区间,最后一个元素的下标变成了0,例如[0,1]代表取出最后两个元素;在后面加上withscores可以同时输出对应的score。

         当出现负数时按照“Zset长度+负数”处理:

3. zrevrange key start end

        相当于zrange key start end rev,区间同上,可以在后面加上withscores表示同时输出对应的score。

4. zrange key min max byscore

        输出指定score范围内的所有元素,score的范围是[min,max],可以在后面加上withscores表示在输出元素的同时也输出对应的score;若将min和max分别设置为-inf和+inf则表示从无穷小到无穷大,相当于输出所有元素。但要注意-inf和+inf只能用于byscore的情况下,不能在按照下标区间输出时使用。

        可以在后面加上rev表示根据score的倒序输出,但区间必须是[max,min]。

5. zrangebyscore key min max

         相当于上面的zrange key min max byscore,也可以加上withscores同时输出对应的score。

6. zrevrangebyscore key max min

        相当于zrange key max min rev,加上withscores同时输出对应的score,也是要注意score的区间必须是[max,min]。

7. zrem key value1 value2 ...

        从Zset集合中移除指定元素。

8.  zcard key

        查看一个Zset集合的长度。

9.  zcount key min max

        查看一个Zset集合中score在[min,max]内的元素数量。

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值