主题
SortedSet 类型
概述
Redis 的 sortedSet 是一个可排序的 set 集合,sortedSet 中每一个元素都带有一个 score 属性,可基于 score 属性对元素进行排序,底层的实现是一个跳表(SkipList)加 Hash 表
特征
- 可排序
- 元素不重复
- 查询速度快
因为 SortedSet 的可排序特性,经常被用来实现排行榜这样的功能。
常见命令
zadd key score member
:添加一个或多个元素到 sorted set,如果已经存在则更新其 score 值zrem key member
:删除 sorted set 中的一个指定元素zscore key member
:获取 sorted set 中的指定元素的 score 值zrank key member
:获取 sorted set 中的指定元素的排名, (注意:排名是从 0 开始,且默认升序)zcard key
:获取 sorted set 中的元素个数zcount key min max
:统计 score 值在给定范围内的所有元素的个数zincrby key increment member
:让 sorted set 中的指定元素自增,步长为指定的 increment 值zrange key min max
:按照 score 排序后,获取指定排名范围内的元素zrangebyscore key min max
:按照 score 排序后,获取指定 score 范围内的元素zdiff
:求差集zinter
:求交集zunion
:求并集
特别注意
member
指元素本身score
使用来排序的- 所有的排名默认都是升序,若是要降序排序,则要在命令的
z
后面加上rev
(reverse)即可,例如:zrevincrby key 2 member