1. LSET key index value
将列表 key 下标为 index 的元素的值设置为 value 。
当 index 参数超出范围,或对一个空列表( key 不存在)进行 LSET 时,返回一个错误。
关于列表下标的更多信息,请参考 LINDEX 命令。
1.1. 起始版本:
1.0.0
1.2. 时间复杂度:
对头元素或尾元素进行 LSET 操作,复杂度为 O(1)。 其他情况下,为 O(N), N 为列表的长度。
1.3. 返回值:
操作成功返回 ok ,否则返回错误信息。
1.4. DEMO
# 对不存在的 key 进行操作, 返回错误
127.0.0.1:6379> exists mylist
(integer) 0
127.0.0.1:6379> LSET mylist 0 1
(error) ERR no such key
127.0.0.1:6379> rpush mylist 1 1 3 4 5
(integer) 5
127.0.0.1:6379> LRANGE mylist 0 -1
1) "1"
2) "1"
3) "3"
4) "4"
5) "5"
# 对非空列表进行操作, 操作成功, 返回OK
127.0.0.1:6379> lset mylist 1 2
OK
127.0.0.1:6379> LRANGE mylist 0 -1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
# 对非空列表进行操作,索引超出范围时,报错
127.0.0.1:6379> LSET mylist 10 9
(error) ERR index out of range
# 对非列表类型的 key 进行 LSET 操作, 返回错误
127.0.0.1:6379> set mykey 1
OK
127.0.0.1:6379> LSET mykey 0 1
(error) WRONGTYPE Operation against a key holding the wrong kind of value