主题
Sorted Set(有序集合)
Sorted Set 是 Redis 提供的一种带分数(score)的集合,集合中的每个元素都是唯一的字符串,且与一个双精度浮点数分数相关联。集合根据分数从小到大自动排序。
基本操作
- ZADD:向有序集合添加元素及其分数
bash
ZADD key score member [score member ...]- ZREM:移除一个或多个成员
bash
ZREM key member [member ...]- ZRANGE:按排名区间返回成员(从低分到高分)
bash
ZRANGE key start stop [WITHSCORES]- ZREVRANGE:按排名区间返回成员(从高分到低分)
bash
ZREVRANGE key start stop [WITHSCORES]- ZSCORE:返回成员的分数
bash
ZSCORE key member进阶操作
- ZINCRBY:增加成员的分数
bash
ZINCRBY key increment member- ZRANK:返回成员的排名(从低分到高分)
bash
ZRANK key member- ZREVRANK:返回成员的排名(从高分到低分)
bash
ZREVRANK key member- ZCOUNT:统计指定分数范围内的成员数量
bash
ZCOUNT key min max- ZREMRangeByRank:删除指定排名区间的成员
bash
ZREMRANGEBYRANK key start stop- ZREMRangeByScore:删除指定分数区间的成员
bash
ZREMRANGEBYSCORE key min max应用场景
Sorted Set 非常适合实现排行榜、带权重的任务调度、按时间排序的消息流和范围查询等需求。它结合了集合的唯一性和有序排列的优势。