本文内容为 http://www.redis.io/commands/lindex 的翻译、注解、例子扩充及其它修改。感谢 Redis 作者 Antirez 为开源社区作出的贡献,本文保证最新、最准、最全以表示对其的敬意。欢迎留言纠错、提示更新或支持。
LINDEX key index

返回键 key 对应的列表(List)中,指定索引 index 位置处的元素值。

Returns the element at index index in the list stored at key

索引 index 是基于 0(Zero-based),即 0 为列表中的第一个元素,1 为第二个元素,以此类推。

The index is zero-based, so 0 means the first element, 1 the second element and so on.

索引可以为负值,表明偏移从列表末尾开始计算,-1 为最后一个元素,-2 为倒数第二个元素,以此类推。

Negative indices can be used to designate elements starting at the tail of the list. Here, -1 means the last element, -2 means the penultimate and so forth.

当键 key 对应的值不为列表时,将会返回一个错误。

When the value at key is not a list, an error is returned.
  • 返回所请求的元素。

    当索引 index 超出范围时,返回 nil

    Bulk string reply: the requested element, or nil when index is out of range.
  • redis> LPUSH mylist "World"
    (integer) 1
    redis> LPUSH mylist "Hello"
    (integer) 2
    redis> LINDEX mylist 0
    "Hello"
    redis> LINDEX mylist -1
    "World"
    redis> LINDEX mylist 3
    (nil)
  • 版本支持

    1.0.0+

    时间复杂度(Time complexity)

    O(N)N 为所需遍历的元素个数。

    O(N) where N is the number of elements to traverse to get to the element at index. This makes asking for the first or the last element of the list O(1).