1. LINSERT key BEFORE|AFTER pivot value

将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。

当 pivot 不存在于列表 key 时,不执行任何操作。

当 key 不存在时, key 被视为空列表,不执行任何操作。

如果 key 不是列表类型,返回一个错误。

1.1. 起始版本:

2.2.0

1.2. 时间复杂度:

O(N), N 为寻找 pivot 过程中经过的元素数量。

1.3. 返回值:

如果命令执行成功,返回插入操作完成之后,列表的长度。 如果没有找到 pivot ,返回 -1 。 如果 key 不存在或为空列表,返回 0 。

1.4. DEMO

# 如果 key 不存在或为空列表,返回 0 。
127.0.0.1:6379> EXISTS mylist
(integer) 0
127.0.0.1:6379> LINSERT mylist before 3 2
(integer) 0

# 如果命令执行成功,返回插入操作完成之后,列表的长度。
127.0.0.1:6379> RPUSH mylist 1 3 4 5
(integer) 4
127.0.0.1:6379> LINSERT mylist before 3 2
(integer) 5
127.0.0.1:6379> LRANGE mylist 0 -1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"

# 如果没有找到 pivot ,返回 -1 。
127.0.0.1:6379> LINSERT mylist after 6 7
(integer) -1

# 对非列表类型的 key 进行 LINSERT 操作, 返回错误
127.0.0.1:6379> set mykey 1
OK
127.0.0.1:6379> LINSERT mykey before 1 0
(error) WRONGTYPE Operation against a key holding the wrong kind of value
Copyright © wychuan.com 2017 all right reserved,powered by Gitbook该文件修订时间: 2017-10-17 02:48:52

results matching ""

    No results matching ""