热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

redis的有序集合

redis的有序集合具有集合的性质有序一.集合内1.添加成员zaddkeyscoremember[scoremember…][nx|xx|ch|incr]返回添加成员成功的

redis的有序集合

  • 具有集合的性质
  • 有序

一.集合内

1.添加成员
zadd key score member [score member …] [nx|xx|ch|incr]

  • 返回添加成员成功的个数
  • nx:用于添加,成员不存在才可以添加成功
  • xx:用于更新,成员必须存在
  • ch:返回此次操作后,有序集合元素和分数发生变化的个数
  • incr:对score做增加,相当于zincrby

2.增加成员的分数
zincrby key increament member

127.0.0.1:6379> zadd rank 100 zhangsan
(integer) 1127.0.0.1:6379> zincrby rank 10 zhangsan
"110"

3.计算成员个数
zcard key

  • 返回成员个数

127.0.0.1:6379> zcard rank
(integer) 4

4.计算某个成员的分数
zscore key member

  • 成员不存在则返回nil

127.0.0.1:6379> zscore rank zhangsan
"100"127.0.0.1:6379> zscore rank wangwu
(nil)

5.计算成员的排名
zrank key member

  • 按分数升序排名
  • 排名从0开始计算

zrevrank key member

  • 按分数降序排名
  • 排名从0开始计算

127.0.0.1:6379> zrank rank zhangsan
(integer) 0
127.0.0.1:6379> zrevrank rank lisi
(integer) 0
127.0.0.1:6379> zrevrank rank zhangsan
(integer) 1

6.返回指定排名返回的成员
zrange key start end [withscores]

  • 按分数升序返回
    zrevrange key start end [withscores]
  • 按分数降序返回

127.0.0.1:6379> zrange rank 0 1 withscores
1) "xiaoming"
2) "60"
3) "xiaohong"
4) "77"127.0.0.1:6379> zrevrange rank 0 1 withscores
1) "xiaofang"
2) "150"
3) "zhangsan"
4) "110"

7.返回指定分数范围的成员
zrangebyscore key min max [withscores] [limit offset count]

  • 按分数升序返回
  • limit offset count:限制输出的起始位置和个数
  • 返回最小或最大值支持开区间(小括号标识)和闭区间(默认是闭区间)

zrevrangbyscore key min max [withscores] [limit offset count]

  • 按分数降序返回
  • limit offset count:限制输出的起始位置和个数
  • 返回最小或最大值支持开区间(小括号标识)和闭区间(默认是闭区间)

127.0.0.1:6379> zrangebyscore rank (110 +inf withscores
1) "xiaofang"
2) "150"127.0.0.1:6379> zrangebyscore rank 110 150 withscores
1) "zhangsan"
2) "110"
3) "xiaofang"
4) "150"

8.返回指定分数范围成员个数
zcount key min max

127.0.0.1:6379> zcount rank 110 150
(integer) 2

9.删除成员

zrem key member [member …]

  • 返回成功删除的个数

127.0.0.1:6379> zrem rank lisi
(integer) 1

10.删除指定排名内的升序元素
zremrangebyrank key start end

11.删除指定分数范围的成员
zremrangebyscore key min max

二.集合间的操作

1.交集
zinterstore destination numkeys key [key key …] [weights weight [weight …]] [aggregate sum|min|max]

  • destination:交集计算结果保存位置
  • numkeys:需要做交接计算的个数
  • key:交集计算的键
  • weights:每个键的权重
  • aggregate:计算成员交集后,分值的操作运算

2.并集
zunionstore destination numkeys key [key key …] [weights weight [weight …]] [aggregate sum|min|max]


推荐阅读
  • 本文讨论了如何使用IF函数从基于有限输入列表的有限输出列表中获取输出,并提出了是否有更快/更有效的执行代码的方法。作者希望了解是否有办法缩短代码,并从自我开发的角度来看是否有更好的方法。提供的代码可以按原样工作,但作者想知道是否有更好的方法来执行这样的任务。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 电话号码的字母组合解题思路和代码示例
    本文介绍了力扣题目《电话号码的字母组合》的解题思路和代码示例。通过使用哈希表和递归求解的方法,可以将给定的电话号码转换为对应的字母组合。详细的解题思路和代码示例可以帮助读者更好地理解和实现该题目。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 006_Redis的List数据类型
    1.List类型是一个链表结构的集合,主要功能有push,pop,获取元素等。List类型是一个双端链表的结构,我们可以通过相关操作进行集合的头部或者尾部添加删除元素,List的设 ... [详细]
  • 本文为Codeforces 1294A题目的解析,主要讨论了Collecting Coins整除+不整除问题。文章详细介绍了题目的背景和要求,并给出了解题思路和代码实现。同时提供了在线测评地址和相关参考链接。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文介绍了[从头学数学]中第101节关于比例的相关问题的研究和修炼过程。主要内容包括[机器小伟]和[工程师阿伟]一起研究比例的相关问题,并给出了一个求比例的函数scale的实现。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文介绍了游标的使用方法,并以一个水果供应商数据库为例进行了说明。首先创建了一个名为fruits的表,包含了水果的id、供应商id、名称和价格等字段。然后使用游标查询了水果的名称和价格,并将结果输出。最后对游标进行了关闭操作。通过本文可以了解到游标在数据库操作中的应用。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
author-avatar
手机用户2502909227
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有