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


相关文章
|
6月前
|
存储 NoSQL Java
【Redis系列】那有序集合为什么要同时使用字典和跳跃表
面试官问:那有序集合为什么要同时使用字典和跳跃表来实现?我:这个设计主要是考虑了性能因素。1. 如果单纯使用字典,查询的效率很高是O(1),但执行类似ZRANGE、ZRNK时,排序性能低。每次排序需要在内存上对字典进行排序一次,同时消耗了额外的O(n)内存空间
【Redis系列】那有序集合为什么要同时使用字典和跳跃表
|
6月前
|
C++ 索引
存在重复元素 II(C++)
存在重复元素 II(C++)
33 0
|
1月前
|
移动开发 HTML5
键值对
键值对。
35 4
|
2月前
|
存储 NoSQL API
7)深度解密 Redis 的有序集合(ZSet)
7)深度解密 Redis 的有序集合(ZSet)
41 0
|
3月前
|
Java 数据库连接 数据库
|
6月前
|
机器学习/深度学习 NoSQL Redis
Redis -- zset有序集合
Redis -- zset有序集合
119 0
集合的交集、并集和差集
集合的交集、并集和差集
|
Java
一篇文章教你学会:对Java集合进行并集,交集,差集运算
一篇文章教你学会:对Java集合进行并集,交集,差集运算
429 0
|
索引 容器
存在重复元素II
存在重复元素II
58 0
|
算法
存在重复元素
存在重复元素
47 0