在 Redis 中,有序集合(Sorted Set)是一种特殊的集合,其中每个成员都关联一个分数(score),成员根据分数的大小有序排列。有序集合的设计允许你按照分数范围进行检索,同时保持集合中的元素有序。以下是有关 Redis 有序集合的基本概念和常用命令:

1. 添加元素到有序集合:

使用 ZADD 命令将一个或多个带有分数的成员添加到有序集合中。
ZADD highscores 100 "Player1"
ZADD highscores 150 "Player2"

2. 获取有序集合范围及分数:

使用 ZRANGE 命令按照索引范围获取有序集合中的元素。
ZRANGE highscores 0 -1 WITHSCORES

3. 按分数范围获取成员:

使用 ZRANGEBYSCORE 命令按照分数范围获取有序集合中的成员。
ZRANGEBYSCORE highscores 0 150

4. 获取有序集合中成员的分数:

使用 ZSCORE 命令获取有序集合中指定成员的分数。
ZSCORE highscores "Player1"

5. 增加成员的分数:

使用 ZINCRBY 命令为有序集合中的指定成员增加分数。
ZINCRBY highscores 10 "Player1"

6. 获取有序集合长度:

使用 ZCARD 命令获取有序集合中元素的数量。
ZCARD highscores

7. 获取成员在有序集合中的排名:

使用 ZRANK 命令获取有序集合中成员的排名(从小到大排序)。
ZRANK highscores "Player1"

8. 获取成员在有序集合中的反向排名:

使用 ZREVRANK 命令获取有序集合中成员的反向排名(从大到小排序)。
ZREVRANK highscores "Player1"

9. 移除有序集合中的成员:

使用 ZREM 命令从有序集合中移除一个或多个成员。
ZREM highscores "Player1"

10. 获取成员在有序集合中的分数范围排名:

使用 ZRANGEBYSCORE 命令按照分数范围获取有序集合中成员的排名。
ZRANGEBYSCORE highscores 0 150 WITHSCORES

以上是一些常用的 Redis 有序集合命令。有序集合在需要按照分数进行排序和检索的场景下非常有用,比如排行榜、评分系统等。


转载请注明出处:http://www.zyzy.cn/article/detail/9074/Redis