LRANGE

返回列表中的一系列元素。

语法

LRANGE key start stop

引入版本:1.0.0

复杂度摘要:O(S+N)

返回存储在 key 的列表的指定元素。偏移量 start 和 stop 是从零开始的索引,0 是列表的第一个元素(列表的头部),1 是下一个元素,依此类推。

这些偏移量也可以是负数,表示从列表末尾开始的偏移量。例如,-1 是列表的最后一个元素,-2 是倒数第二个元素,依此类推。

必需参数

key

保存列表的键的名称。

start

从零开始的索引。负索引从尾部开始计数。

stop

从零开始的停止索引(含)。负索引从尾部开始计数。

示例

redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> LRANGE mylist 0 0
1) "one"
redis> LRANGE mylist -3 2
1) "one"
2) "two"
3) "three"
redis> LRANGE mylist -100 100
1) "one"
2) "two"
3) "three"
redis> LRANGE mylist 5 10
(empty array)

详细说明

与各种编程语言中的范围函数的一致性

请注意,如果您有一个从 0 到 100 的数字列表,LRANGE list 0 10 将返回 11 个元素,即包括最右边的项。这可能与您选择的编程语言中范围相关函数的行为一致,也可能不一致(例如 Ruby 的 Range.new、Array#slice 或 Python 的 range() 函数)。

超出范围的索引

超出范围的索引不会产生错误。如果 start 大于列表末尾,则返回空列表。如果 stop 大于列表的实际末尾,Redis 会将其视为列表的最后一个元素。

Redis Software 与 Redis Cloud 兼容性

Redis
软件
Redis
Cloud
说明
✅ 标准
✅ 主动-主动
✅ 标准
✅ 主动-主动

返回值

RESP2

数组回复:指定范围内的元素列表,如果键不存在则为空数组。

RESP3

数组回复:指定范围内的元素列表,如果键不存在则为空数组。

资料来源:Redis 官方 LRANGE 文档;中文内容参考 Redis 文档许可。