在 Redis 中,您可以使用 ZRANGEBYSCORE 命令执行有序集合的范围查询
以下是 ZRANGEBYSCORE 命令的基本语法:
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
参数说明:
- key:有序集合的键名。
- min 和 max:查询的范围,可以是具体的分数或者分数范围(例如:‘-inf’, ‘+inf’ 表示无穷小和无穷大)。
- WITHSCORES:可选参数,表示返回查询结果中元素的分数。
- LIMIT offset count:可选参数,表示查询结果的偏移量和返回的元素个数。
示例:
假设我们有一个有序集合 myzset
,其中包含以下元素:
1) "apple" 2) "banana" 3) "cherry" 4) "date" 5) "fig"
这些元素的分数分别是:1, 2, 3, 4, 5。
- 查询分数在 2 到 4 之间的元素:
ZRANGEBYSCORE myzset 2 4
返回结果:
1) "banana" 2) "cherry" 3) "date"
- 查询分数大于等于 3 且小于等于 5 的元素,并返回元素的分数:
ZRANGEBYSCORE myzset 3 5 WITHSCORES
返回结果:
1) "cherry" 2) 3 3) "date" 4) 4 5) "fig"
- 查询分数在 2 到 4 之间(包括 2 和 4)的元素,并限制返回结果的数量为 2:
ZRANGEBYSCORE myzset 2 4 LIMIT 0 2
返回结果:
1) "banana" 2) "cherry"