LRANGE

语法
LRANGE key start stop
可用版本
Redis 开源版 1.0.0
时间复杂度
O(S+N),其中 S 是对于小列表,起始偏移量距离头部(HEAD)的距离;对于大列表,是距离最近一端(头部 HEAD 或尾部 TAIL)的距离;N 是指定范围内的元素数量。
ACL 分类
@read, @list, @slow,

返回存储在 key 处的列表中指定范围的元素。偏移量 startstop 是基于零的索引,其中 0 是列表的第一个元素(列表的头部),1 是下一个元素,以此类推。

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

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

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

超出范围的索引

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

示例

在交互式控制台中尝试这些命令

RPUSH mylist "one" RPUSH mylist "two" RPUSH mylist "three" LRANGE mylist 0 0 LRANGE mylist -3 2 LRANGE mylist -100 100 LRANGE mylist 5 10

RESP2/RESP3 回复

数组回复: 指定范围内的元素列表,如果键不存在则为空数组。
评价本页
返回顶部 ↑