简介
有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
指令
命令 | 说明 |
---|---|
help @String | 查看字符串操作指令 |
help @list | 查看列表操作指令 |
help @hash | 查看哈希操作指令 |
help @set | 查看集合操作指令 |
help @sorted_set | 查看有序集合操作指令 |
ZADD key [NX|XX] [CH] [INCR] score member [score member ...]
用于将一个或多个成员元素及其分数值加入到有序集当中
ZRANGE key start stop [WITHSCORES]
返回有序集中,指定区间内的成员。 其中成员的位置按分数值递增(从小到大)来排列。
PS:
1、与无序集合一样,都不能重复成员
2、分数值可以相同
3、zadd插入集合成员时,相同的成员以最右变得为准
zadd返回项感觉得研究下,修改成功后,但是每次的返回值不同。
ZCARD key
用于计算集合中元素的数量
ZSCORE key member
返回有序集中,成员的分数值。
ZRANK key member
返回有序集中指定成员的排名
PS:也是从0开始的,分数值最小的为0
ZCOUNT key min max
用于计算有序集合中指定分数区间的成员数量
PS:
1、允许使用“(” 左括号,代表不等于
2、没有“)”右括号
3、小于等于时使用ZCOUNT zfoo (85 (90
ZRANGEBYLEX key min max [LIMIT offset count]
通过字典区间返回有序集合的成员
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
返回有序集合中指定分数区间的成员列表。
ZREVRANGE key start stop [WITHSCORES]
命令返回有序集中,指定区间内的成员。 其中成员的位置按分数值递减(从大到小)来排列。
ZLEXCOUNT key min max
计算有序集合中指定字典区间内成员数量。
ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]
计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)储存到 destination 。
PS:
1、值匹配
2、默认是分数相加
3、WEIGHTS 对应权重
4、AGGREGATE 分数方法:相加、最大、最小
权重:
ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]
计算给定的一个或多个有序集的并集,其中给定 key 的数量必须以 numkeys 参数指定,并将该并集(结果集)储存到 destination 。