Redis教程12-有序集合(sorted set)常用命令使用参考3
1.ZREVRANGE
ZREVRANGE key start stop [WITHSCORES]
返回有序集 key 中,指定区间内的成员。
除了成员按 score 值递减的次序排列这一点外, ZREVRANGE 命令的其他方面和 ZRANGE 命令一样。
可用版本:>= 1.2.0
时间复杂度:O(log(N)+M), N 为有序集的基数,而 M 为结果集的基数。
返回值:指定区间内,带有 score 值(可选)的有序集成员的列表。
127.0.0.1:6379> zadd names 1 tom 2 jerry 3 zhangsan 4 lisi 5 wangu (integer) 5 127.0.0.1:6379> zrange names 0 -1 withscores // 默认, 递增排列 1) "tom" 2) "1" 3) "jerry" 4) "2" 5) "zhangsan" 6) "3" 7) "lisi" 8) "4" 9) "wangu" 10) "5" 127.0.0.1:6379> zrevrange names 0 -1 withscores // 递减排列 1) "wangu" 2) "5" 3) "lisi" 4) "4" 5) "zhangsan" 6) "3" 7) "jerry" 8) "2" 9) "tom" 10) "1" 127.0.0.1:6379>
2.ZREVRANGEBYSCORE
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]
返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成员。有序集成员按 score 值递减(从大到小)的次序排列。
具有相同 score 值的成员按字典序的逆序(reverse lexicographical order )排列。
除了成员按 score 值递减的次序排列这一点外, ZREVRANGEBYSCORE 命令的其他方面和 ZRANGEBYSCORE 命令一样。
可用版本:>= 2.2.0
时间复杂度:O(log(N)+M), N 为有序集的基数, M 为结果集的基数。
返回值:指定区间内,带有 score 值(可选)的有序集成员的列表。
127.0.0.1:6379> zrevrangebyscore names +inf -inf withscores // 逆序排列所有成员 1) "wangu" 2) "5" 3) "lisi" 4) "4" 5) "zhangsan" 6) "3" 7) "jerry" 8) "2" 9) "tom" 10) "1" 127.0.0.1:6379> zrevrangebyscore names 4 2 withscores // 逆序排列4>=score>=2的成员 1) "lisi" 2) "4" 3) "zhangsan" 4) "3" 5) "jerry" 6) "2" 127.0.0.1:6379>
3.ZREVRANK
ZREVRANK key member
返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)排序。
排名以 0 为底,也就是说, score 值最大的成员排名为 0 。
使用 ZRANK 命令可以获得成员按 score 值递增(从小到大)排列的排名。
可用版本:>= 2.0.0
时间复杂度:O(log(N))
返回值:
127.0.0.1:6379> zrange names 0 -1 1) "tom" 2) "jerry" 3) "zhangsan" 4) "lisi" 5) "wangu" 127.0.0.1:6379> zrank names wangu (integer) 4 127.0.0.1:6379> zrank names tom (integer) 0 127.0.0.1:6379> zrevrank names wangu (integer) 0 127.0.0.1:6379> zrevrank names tom (integer) 4 127.0.0.1:6379>
4.ZSCORE
ZSCORE key member
返回有序集 key 中,成员 member 的 score 值。
如果 member 元素不是有序集 key 的成员,或 key 不存在,返回 nil 。
可用版本:>= 1.2.0
时间复杂度:O(1)
返回值:member 成员的 score 值,以字符串形式表示。
127.0.0.1:6379> zrange names 0 -1 withscores 1) "tom" 2) "1" 3) "jerry" 4) "2" 5) "zhangsan" 6) "3" 7) "lisi" 8) "4" 9) "wangu" 10) "5" 127.0.0.1:6379> zscore names zhangsan "3" 127.0.0.1:6379> zscore names lisi "4" 127.0.0.1:6379>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)