Redis学习篇(六)之ZSet类型及其操作

时间:2021-12-27 08:41:39

ZADD

作用: 将元素及其分数添加到集合中

语法: ZADD key score membre [score member]

当集合元素已经存在时,再次添加会更新其分数

当score是 +inf 时, 分数是正无穷
当score是 -inf 时,分数是负无穷

ZSCORE

作用:获得指定成员的分数

语法:ZSCORE key value

元素不存在,返回nil

ZRANGE

作用: 按照分数从小到大的顺序返回指定索引start到stop之间的元素,参数WITHSCORES指定显示分数

语法: ZRANGE key start stop [WITHSCORES]

包含stop
若stop索引超过集合长度,则返回全部存在的元素
若start超过了集合的长度,则为空
分数相同时,按照字典的顺序排序

ZREVRANGE

作用: 按照分数从大到小的顺序返回指定索引start到stop之间的元素,参数WITHSCORES指定显示分数

语法: ZREVRANGE key start stop [WITHSCORES]

包含start和stop

ZRANGEBYSCORE

作用:获得指定分数范围内的元素,按照分数从小到大的顺序

语法:ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

(min (max 表示不包含端点
-inf +inf 表示负无穷大和正无穷大
LIMIT 必须指定偏移量, 在指定数量

ZREVRANGEBYSCORE

作用:获得指定分数范围内的元素,按照分数从大到小的顺序

语法:ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]

ZINCRBY

作用: 操作某个元素的分数,返回操作之后的分数

语法: ZINCRBY key increment member

ZCARD

作用: 获得集合中元素的数量

语法: ZCARD key

ZCOUNT

作用: 指定分数范围内的元素个数

语法: ZCOUNT key min max

ZREM

作用: 删除一个或者多个元素,返回删除元素的个数

语法: ZREM key member,member ...

ZREMRANGEBYRANK

作用: 按照分数从小到大的顺序, 删除指定索引范围内的所有的元素

语法: ZREMRANGEBYRANK key start stop

ZREMRANGEBYSCORE

作用: 按照分数范围删除元素

语法: ZREMRANGEBYSCORE key min max

ZRANK

作用: 按照分数从小到大的顺序, 获得指定元素的排名

语法: ZRANK key member

ZREVRANK

作用: 按照分数从大到小的顺序,获得指定元素的排名

语法: ZREVRANK key member

ZINTERSTORE

作用: 计算有序集合的交集,并将结果保存起来

语法: ZINTERSTORE destination numkeys key key...
[WEIGHTS weight weight...] [AGGREGATE SUM|MIN|MAX]

默认是分数求和
destination 指定目标集合
numkeys 指定集合的个数
key 指定集合名称
WEITHGS 指定权重
AGGEGATE 分数的计算方式

ZUNIONSTORE

作用: 计算有序集合的并集,并将结果保存起来

语法: ZINTERSTORE destination numkeys key key...
[WEIGHTS weight weight...] [AGGREGATE SUM|MIN|MAX]

默认是分数求和
destination 指定目标集合
numkeys 指定集合的个数
key 指定集合名称
WEITHGS 指定权重
AGGEGATE 分数的计算方式