redis 有序集合操作命令
时间: 2024-08-03 07:01:18 浏览: 110
Redis 的有序集合(Sorted Set)是一种特殊的集合数据结构,它除了包含成员元素外,还维护了一个分数字段,使得集合内的元素可以按照分数排序。以下是 Redis 中一些常用的操作有序集合的命令:
1. **ZADD (ZSet Add)**: 向有序集合添加新成员,同时指定一个分数(score)。如果成员已存在,可以选择替换旧分数或忽略。
- ZADD key score member [score ...]
- ZADD key nx score member [score ...] (仅当成员不存在时插入)
- ZADD key ch score member [score ...] (仅当成员存在且当前得分小于给定值时插入)
2. **ZRANGE (Range by Score)**: 获取有序集中指定范围内的成员及其分数。支持多种形式的范围查询,如指定最小分值、最大分值、区间等。
- ZRANGE key start end [WITHSCORES]
- ZRANGEBYSCORE key min max [LIMIT offset count]
3. **ZRANK (Rank)**: 返回指定成员在有序集合中的排名(基于分数),默认从0开始计数。
- ZRANK key member
4. **ZREVRANK (Reverse Rank)**: 返回指定成员在有序集合中倒序排名的位置。
- ZREVRANK key member
5. **ZREM (Remove Member)**: 删除有序集合中的成员。可以删除所有指定成员,也可以根据分数删除。
- ZREM key member [member ...]
6. **ZCOUNT (Count Members)**: 统计有序集合内满足条件的成员数量。
- ZCOUNT key min max
7. **ZCARD (Cardinality)**: 查询有序集合中的成员数量。
8. **ZINCRBY (Increment Score by)**: 对指定成员在有序集合中的分数进行递增并返回新的分数。
- ZINCRBY key member increment
以上是一些基本的有序集合操作命令,还有其他如ZLEXCOUNT(按字典顺序)和ZUNIONSTORE等高级命令。有序集合在需要对数据进行复杂排序和过滤的应用场景中非常有用,例如排行榜、相似度计算等。
阅读全文