1. LINDEX key index
返回列表 key 中,下标为 index 的元素。
下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。
你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
如果 key 不是列表类型,返回一个错误。
1.1. 起始版本:
1.0.0
1.2. 时间复杂度:
O(N), N 为到达下标 index 过程中经过的元素数量。 因此,对列表的头元素和尾元素执行 LINDEX 命令,复杂度为O(1)。
1.3. 返回值:
列表中下标为 index 的元素。 如果 index 参数的值不在列表的区间范围内(out of range),返回 nil 。
1.4. DEMO
127.0.0.1:6379> rpush mylist 1 2 3 4 5 6 7 8 9 10
(integer) 10
# 取第2个元素
127.0.0.1:6379> LINDEX mylist 1
"2"
# 取倒数第1个元素
127.0.0.1:6379> LINDEX mylist -1
"10"
# 索引值超出范围, 不报错, 返回nil
127.0.0.1:6379> LINDEX mylist 100
(nil)
127.0.0.1:6379> LINDEX mylist -100
(nil)
# 对不存在的列表进行 LINDEX 操作, 不报错, 返回 nil
127.0.0.1:6379> exists mylist2
(integer) 0
127.0.0.1:6379> LINDEX mylist2 0
(nil)
# 对不是列表类型的 key 进行 LINDEX 操作, 报错
127.0.0.1:6379> set mykey 1
OK
127.0.0.1:6379> LINDEX mykey 0
(error) WRONGTYPE Operation against a key holding the wrong kind of value