content/commands/brpoplpush.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 >}}
BRPOPLPUSH is the blocking variant of [RPOPLPUSH]({{< relref "/commands/rpoplpush" >}}).
When source contains elements, this command behaves exactly like [RPOPLPUSH]({{< relref "/commands/rpoplpush" >}}).
When used inside a [MULTI]({{< relref "/commands/multi" >}})/[EXEC]({{< relref "/commands/exec" >}}) block or a Lua script, this command behaves exactly like [RPOPLPUSH]({{< relref "/commands/rpoplpush" >}}).
When source is empty, Redis will block the connection until another client
pushes to it or until timeout is reached.
A timeout of zero can be used to block indefinitely.
See [RPOPLPUSH]({{< relref "/commands/rpoplpush" >}}) for more information.
Please see the pattern description in the [RPOPLPUSH]({{< relref "/commands/rpoplpush" >}}) documentation.
Please see the pattern description in the [RPOPLPUSH]({{< relref "/commands/rpoplpush" >}}) documentation.
| 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> | Deprecated as of Redis v6.2.0. |
{{< multitabs id="brpoplpush-return-info" tab1="RESP2" tab2="RESP3" >}}
One of the following:
-tab-sep-
One of the following:
{{< /multitabs >}}