4、有序集合

简介: 4、有序集合

常用命令

命令 介绍
ZADD key score1 member1 score2 member2 ... 向指定有序集合添加一个或多个元素
ZCARD KEY 获取指定有序集合的元素数量
ZSCORE key member 获取指定有序集合中指定元素的 score 值
ZINTERSTORE destination numkeys key1 key2 ... 将给定所有有序集合的交集存储在 destination 中,对相同元素对应的 score 值进行 SUM 聚合操作,numkeys 为集合数量
ZUNIONSTORE destination numkeys key1 key2 ... 求并集,其它和 ZINTERSTORE 类似
ZDIFF destination numkeys key1 key2 ... 求差集,其它和 ZINTERSTORE 类似
ZRANGE key start end 获取指定有序集合 start 和 end 之间的元素(score 从低到高)
ZREVRANGE key start end 获取指定有序集合 start 和 end 之间的元素(score 从高到底)
ZREVRANK key member 获取指定有序集合中指定元素的排名(score 从大到小排序)

用法

ruby

复制代码

redis-cli --raw
127.0.0.1:6379> ZADD result 680 清华 660 北大 650 复旦 640 浙大
127.0.0.1:6379> ZRANGE result 0 -1
浙大
复旦
北大
清华
127.0.0.1:6379> ZRANGE result 0 -1 WITHSCORES
浙大
640
复旦
650
北大
660
清华
680
127.0.0.1:6379> ZSCORE result 清华
680
127.0.0.1:6379> ZRANK result 清华
3
127.0.0.1:6379> REVRANK 清华
0


相关文章
|
7月前
|
存储 NoSQL Java
【Redis系列】那有序集合为什么要同时使用字典和跳跃表
面试官问:那有序集合为什么要同时使用字典和跳跃表来实现?我:这个设计主要是考虑了性能因素。1. 如果单纯使用字典,查询的效率很高是O(1),但执行类似ZRANGE、ZRNK时,排序性能低。每次排序需要在内存上对字典进行排序一次,同时消耗了额外的O(n)内存空间
【Redis系列】那有序集合为什么要同时使用字典和跳跃表
|
7月前
|
C++ 索引
存在重复元素 II(C++)
存在重复元素 II(C++)
34 0
|
3月前
|
存储 NoSQL API
7)深度解密 Redis 的有序集合(ZSet)
7)深度解密 Redis 的有序集合(ZSet)
54 0
|
7月前
|
机器学习/深度学习 NoSQL Redis
Redis -- zset有序集合
Redis -- zset有序集合
131 0
|
存储 NoSQL 算法
Redis从入门到精通之答疑为什么ZSet使用跳跃表而不是平衡树、哈希表
有同学阅读了Redis从入门到精通章节中的《Redis从入门到精通之底层数据结构跳表 SkipList》向我提问Redis从入门到精通之答疑为什么ZSet使用跳跃表而不是平衡树、哈希表。今天就做一个解答
1071 10
Redis从入门到精通之答疑为什么ZSet使用跳跃表而不是平衡树、哈希表
|
存储 NoSQL 算法
Redis中ZSet的底层数据结构跳跃表skiplist,你真的了解吗?
Redis中ZSet的底层数据结构跳跃表skiplist,你真的了解吗?
220 0
|
索引 容器
存在重复元素II
存在重复元素II
64 0
|
算法
存在重复元素
存在重复元素
50 0
|
存储 NoSQL Redis
【Redis】基本数据类型常用操作 - Zset (有序集合)
【Redis】基本数据类型常用操作 - Zset (有序集合)
【Redis】基本数据类型常用操作 - Zset (有序集合)