Inserts an element before or after another element in a list.
LINSERT
key
<BEFORE
|
AFTER
> pivot
element
Inserts element
in the list stored at key
either before or after the reference value pivot
.
When key
does not exist, it is considered an empty list
and no operation is performed.
An error is returned when key
exists but does not hold a
list value.
One of the following:
Integer reply: the list length after a successful insert operation.
Integer reply:
0
when the key doesn’t exist.
Integer reply:
-1
when the pivot wasn’t found.
O(N) where N is the number of elements to traverse before seeing the value pivot. This means that inserting somewhere on the left end on the list (head) can be considered O(1) and inserting somewhere on the right end (tail) is O(N).
@list @slow @write
127.0.0.1:6379> RPUSH mylist "Hello"
(integer) 1
127.0.0.1:6379> RPUSH mylist "World"
(integer) 2
127.0.0.1:6379> LINSERT mylist BEFORE "World" "There"
(integer) 3
127.0.0.1:6379> LRANGE mylist 0 -1
1) "Hello"
2) "There"
3) "World"
BLMOVE, BLMPOP, BLPOP, BRPOP, LINDEX, LLEN, LMOVE, LMPOP, LPOP, LPOS, LPUSH, LPUSHX, LRANGE, LREM, LSET, LTRIM, RPOP, RPUSH, RPUSHX.