LPUSH key element [element …]

Available since 1.0.0.

Time complexity: O(1) for each element added, so O(N) to add N elements when the command is called with multiple arguments.

Insert all the specified values at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations. When key holds a value that is not a list, an error is returned.

It is possible to push multiple elements using a single command call just specifying multiple arguments at the end of the command. Elements are inserted one after the other to the head of the list, from the leftmost element to the rightmost element. So for instance the command LPUSH mylist a b c will result into a list containing c as first element, b as second element and a as third element.

*Return value

Integer reply: the length of the list after the push operations.

*History

  • >= 2.4: Accepts multiple element arguments. In Redis versions older than 2.4 it was possible to push a single value per command.

*Examples

redis> LPUSH mylist "world"

  1. (integer) 1

redis> LPUSH mylist "hello"

  1. (integer) 2

redis> LRANGE mylist 0 -1

  1. 1) "hello"
  2. 2) "world"
redis>