Back to Redis

BRPOPLPUSH

content/commands/brpoplpush.md

latest2.3 KB
Original Source

{{< 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.

Pattern: Reliable queue

Please see the pattern description in the [RPOPLPUSH]({{< relref "/commands/rpoplpush" >}}) documentation.

Pattern: Circular list

Please see the pattern description in the [RPOPLPUSH]({{< relref "/commands/rpoplpush" >}}) documentation.

Redis Software and Redis Cloud compatibility

| 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. |

Return information

{{< multitabs id="brpoplpush-return-info" tab1="RESP2" tab2="RESP3" >}}

One of the following:

-tab-sep-

One of the following:

{{< /multitabs >}}