LINSERT key BEFORE|AFTER pivot element

Available since 2.2.0.

Time complexity: 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).

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.

*Return value

Integer reply: the length of the list after the insert operation, or -1 when the value pivot was not found.

*Examples

redis> RPUSH mylist "Hello"

  1. (integer) 1

redis> RPUSH mylist "World"

  1. (integer) 2

redis> LINSERT mylist BEFORE "World" "There"

  1. (integer) 3

redis> LRANGE mylist 0 -1

  1. 1) "Hello"
  2. 2) "There"
  3. 3) "World"
redis>