LMPOP numkeys key [key ...] LEFT|RIGHT [COUNT count]
Available since: 7.0.0
Time complexity: O(N+M) where N is the number of provided keys and M is the number of elements returned.
ACL categories:
@write
@list
@slow
Pops one or more elements from the first non-empty list key from the list of provided key names.
LMPOP
and BLMPOP
are similar to the following, more limited, commands:
LPOP
orRPOP
which take only one key, and can return multiple elements.BLPOP
orBRPOP
which take multiple keys, but return only one element from just one key.
See BLMPOP
for the blocking variant of this command.
Elements are popped from either the left or right of the first non-empty list based on the passed argument. The number of returned elements is limited to the lower between the non-empty list’s length, and the count argument (which defaults to 1).
@return
@array-reply: specifically:
- A
nil
when no element could be popped. - A two-element array with the first element being the name of the key from which elements were popped, and the second element is an array of elements.
@examples
redis> LMPOP 2 non1 non2 LEFT COUNT 10
TBD
redis> LPUSH mylist "one" "two" "three" "four" "five"
TBD
redis> LMPOP 1 mylist LEFT
TBD
redis> LRANGE mylist 0 -1
TBD
redis> LMPOP 1 mylist RIGHT COUNT 10
TBD
redis> LPUSH mylist "one" "two" "three" "four" "five"
TBD
redis> LPUSH mylist2 "a" "b" "c" "d" "e"
TBD
redis> LMPOP 2 mylist mylist2 right count 3
TBD
redis> LRANGE mylist 0 -1
TBD
redis> LMPOP 2 mylist mylist2 right count 5
TBD
redis> LMPOP 2 mylist mylist2 right count 10
TBD
redis> EXISTS mylist mylist2