ZRANGEBYSCORE
是 Redis 中的一个命令,用于根据分数范围获取有序集合(sorted set)中的元素
基本语法:
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
参数说明:
key
:有序集合的键名。min
和max
:分数的最小值和最大值,用于筛选范围内的元素。可以使用-inf
和+inf
分别表示负无穷和正无穷。WITHSCORES
:可选参数,表示是否返回元素的分数。如果为true
,则返回一个包含元素及其分数的列表;如果为false
,则只返回元素。LIMIT offset count
:可选参数,表示返回结果的范围。offset
是结果集的起始位置(从 0 开始),count
是要返回的元素数量。
示例:
假设我们有一个有序集合 my_scores
,其中包含以下元素及其分数:
元素 | 分数 |
---|---|
Alice | 90 |
Bob | 80 |
Carol | 70 |
Dave | 60 |
Eve | 50 |
- 获取分数在 60 到 70 之间的元素:
ZRANGEBYSCORE my_scores 60 70
返回结果:
元素 | 分数 |
---|---|
Dave | 60 |
Eve | 50 |
- 获取分数在 60 到 70 之间且包含分数的列表:
ZRANGEBYSCORE my_scores 60 70 WITHSCORES
返回结果:
元素 | 分数 |
---|---|
Dave | 60 |
Eve | 50 |
- 获取分数在 60 到 70 之间的前两个元素:
ZRANGEBYSCORE my_scores 60 70 LIMIT 0 2
返回结果:
元素 | 分数 |
---|---|
Dave | 60 |
Eve | 50 |