设为首页 收藏本站
查看: 477|回复: 0

[经验分享] Redis数据操作--无序集合

[复制链接]

尚未签到

发表于 2018-11-3 11:30:01 | 显示全部楼层 |阅读模式
| 有序集合和集合一样,都可以包含任意数量的,各不相同的元素,不同于集合  
的是,有序集合的每个元素都关联着一个浮点数分值,并且有序集合会按照
  
分值,以从小到大的顺序来排列有序集合中的各个元素。
  
    虽然有序集合中的每个元素都必须是各不相同的,但元素的分值并没有这一
  
限制,换句话来说,两个不同元素的分值可以是相同的。
  
| 基本操作
  
-- 添加元素
  
    zadd key score element [ [score element] [score element] ...]
  
    # 按照给定的分值和元素,将任意数量的元素添加到有序集合里,命令的返回值
  
        为成功添加的元素数量。
  
-- 删除元素
  
    zrem key element [element ...]
  
    # 从有序集合中删除指定的元素,以及这些元素关联的分值,命令返回被成功
  
        删除的元素数量。
  
-- 返回元素的分值
  
    zscore key element
  
    返回有序集合中,指定元素的分值
  
-- 增加或减少元素的分值
  
    zincrby key increment element
  
    # 为有序集合指定的元素的分值加上增量increment,命令返回执行操作之后,
  
        元素的分值。
  
    # 没有响应的zdecrby命令,但可以通过将increment设置为负数来减少分值
  
-- 返回元素数量
  
    zcard key
  
    # 返回有序集合包含的元素数量
  
-- 返回元素的排名
  
    zrank key element
  
    # 返回指定元素在有序集合中的排名,其中排名按照元素ed分值从小到大计算。
  
    # 排名从0开始
  
-- 返回元素的逆序排名
  
    zrevrank key member
  
    # 返回成员在有序集合中的逆序排名,其中排名按照元素的分值从大到小计算。
  
    # 排名从0开始
  
| 分值范围操作
  
-- 获取指定索引范围内的升序元素
  
    zrange key start stop [withscores]
  
    # 返回有序集合在按照分值从小到大排列元素(升序排列)的情况下,
  
    # 索引start至索引stop范围之内所有的元素
  
    # 两个索引都可以是正数或者负数,当给定withscores选项时,命令会将元素
  
        和分值一并返回
  
-- 获取指定索引范围内的降序元素
  
    zrevrange key start stop [withscores]
  
    # 返回有序集合在按照分值从大到小排列元素(降序排列)的情况下,索引start至
  
    stop的所有元素。
  
    # 两个索引都可以是正数或者负数,当给定withscores选项时,命令会把元素和
  
        分值一并返回。
  
-- 获取指定分值范围内的升序元素
  
    zrangebyscore key min max [withscores] [limit off set count]
  
    # 返回有序集合在按照分值升序排列元素的情况下,分值在min和man范围之内的
  
        所有元素。
  
    # 给定withscores选项时,元素和分值会一并返回。给定limit选项时,可以通过
  
        offset参数指定返回的结果集要跳过多少个元素,而count参数则用于指定返回
  
        的元素数量。
  
-- 获取指定分值范围内的降序元素
  
    zrevrangebyscore key min max [withscores] [limit offset count]
  
    # 返回有序集合在按照分值降序排列元素的情况下,分值在min和man范围之内
  
        的所有元素
  
    # 给定withscores选项时,元素和分值会一并返回。给定limit选项时,可以通过
  
        offset参数指定返回的结果集要跳过多少个元素,而count参数则用于指定返回
  
        的元素数量。
  
-- 计算给定分值范围内的元素数量
  
    zcount key min max
  
    # 返回有序集合在升序排列元素的情况下,分值在min和man范围内的元素数量。
  
-- 移除指定排名范围内的升序排列元素
  
    zremrangebyrank key start stop
  
    # 移除有序集合中,元素按升序进行排列的情况下,指定排名范围的所有元素。
  
    # 排名范围可以使用正数和负数
  
-- 移除指定分值范围内的升序排列元素
  
    zremrangebyscore key min max
  
    # 移除有序集合中,分值范围介于min和max之内的所有元素
  
    (音乐排行版rank_list.py),(翻页程序的API的实现 paging.py)
  
| 集合运算
  
-- 计算并集和交集
  
    zunionstore destkey numkeys key [key ...]   # 计算并集
  
    zinterstore destkey numkeys key [key ...]     # 计算交集
  
    计算结果会被储存到destkey里面,命令返回结果集的基数;
  
    numkeys参数指定要进行计算的有序集合个数,key [key ...] 指定进行计算
  
    的各个有序集合。
  
    (实现周榜,月榜,年榜)



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-630197-1-1.html 上篇帖子: Redis数据操作--有序集合 下篇帖子: Redis数据操作--客户端与服务端的操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表