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


相关文章
|
5天前
|
存储 NoSQL Java
【Redis系列】那有序集合为什么要同时使用字典和跳跃表
面试官问:那有序集合为什么要同时使用字典和跳跃表来实现?我:这个设计主要是考虑了性能因素。1. 如果单纯使用字典,查询的效率很高是O(1),但执行类似ZRANGE、ZRNK时,排序性能低。每次排序需要在内存上对字典进行排序一次,同时消耗了额外的O(n)内存空间
35 2
【Redis系列】那有序集合为什么要同时使用字典和跳跃表
|
5天前
|
C++ 索引
存在重复元素 II(C++)
存在重复元素 II(C++)
19 0
|
8月前
|
Python
集合的交集、并集和差集
集合的交集、并集和差集
|
9月前
|
索引 容器
存在重复元素II
存在重复元素II
42 0
|
11月前
|
算法
存在重复元素
存在重复元素
32 0
|
存储 NoSQL Redis
一步一步学习Redis——五大数据类型之有序集合(ZSet)的相关命令
一步一步学习Redis——五大数据类型之有序集合(ZSet)的相关命令
一步一步学习Redis——五大数据类型之有序集合(ZSet)的相关命令
|
存储 安全 Java
Java常用集合的总结,集合中的(交集,并集,差集,补集,对称差集)
Java常用集合的总结,集合中的(交集,并集,差集,补集,对称差集)
354 0
Java常用集合的总结,集合中的(交集,并集,差集,补集,对称差集)
|
缓存 分布式计算 NoSQL
Redis_集合_有序集合操作_3|学习笔记
快速学习 Redis_集合_有序集合操作_3
105 0
|
存储 NoSQL 关系型数据库
Redis_集合_有序集合操作_2|学习笔记
快速学习 Redis_集合_有序集合操作_2
63 0
Redis_集合_有序集合操作_2|学习笔记
|
存储 NoSQL Redis
Redis_集合_有序集合操作_1|学习笔记
快速学习 Redis_集合_有序集合操作_1
100 0
Redis_集合_有序集合操作_1|学习笔记