content/commands/lmpop.md
{{< note >}} This command's behavior varies in clustered Redis environments. See the [multi-key operations]({{< relref "/develop/using-commands/multi-key-operations" >}}) page for more information. {{< /note >}}
Pops one or more elements from the first non-empty list key from the list of provided key names.
LMPOP and [BLMPOP]({{< relref "/commands/blmpop" >}}) are similar to the following, more limited, commands:
LPOP]({{< relref "/commands/lpop" >}}) or [RPOP]({{< relref "/commands/rpop" >}}) which take only one key, and can return multiple elements.BLPOP]({{< relref "/commands/blpop" >}}) or [BRPOP]({{< relref "/commands/brpop" >}}) which take multiple keys, but return only one element from just one key.See [BLMPOP]({{< relref "/commands/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).
{{% redis-cli %}} LMPOP 2 non1 non2 LEFT COUNT 10 LPUSH mylist "one" "two" "three" "four" "five" LMPOP 1 mylist LEFT LRANGE mylist 0 -1 LMPOP 1 mylist RIGHT COUNT 10 LPUSH mylist "one" "two" "three" "four" "five" LPUSH mylist2 "a" "b" "c" "d" "e" LMPOP 2 mylist mylist2 right count 3 LRANGE mylist 0 -1 LMPOP 2 mylist mylist2 right count 5 LMPOP 2 mylist mylist2 right count 10 EXISTS mylist mylist2 {{% /redis-cli %}}
| Redis Software | Redis Cloud | <span style="min-width: 9em; display: table-cell">Notes</span> | |:----------------------|:-----------------|:------| | <span title="Supported">✅ Standard</span> <span title="Supported"><nobr>✅ Active-Active</nobr></span> | <span title="Supported">✅ Standard</span> <span title="Supported"><nobr>✅ Active-Active</nobr></span> | |
{{< multitabs id="lmpop-return-info" tab1="RESP2" tab2="RESP3" >}}
One of the following:
-tab-sep-
One of the following:
{{< /multitabs >}}