BRPOPLPUSH (deprecated)
As of Redis version 6.2.0, this command is regarded as deprecated.
It can be replaced by [BLMOVE]({{< relref "/commands/blmove" >}}) with the RIGHT and LEFT arguments when migrating or writing new code.
BRPOPLPUSH source destination timeout
- Available since:
- 2.2.0
- Time complexity:
- O(1)
- ACL categories:
-
@write,@list,@slow,@blocking,
BRPOPLPUSH is the blocking variant of RPOPLPUSH.
When source contains elements, this command behaves exactly like RPOPLPUSH.
When used inside a MULTI/EXEC block, this command behaves exactly like 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 for more information.
Pattern: Reliable queue
Please see the pattern description in the RPOPLPUSH documentation.
Pattern: Circular list
Please see the pattern description in the RPOPLPUSH documentation.
RESP2 Reply
One of the following:
- Bulk string reply: the element being popped from source and pushed to destination.
- Nil reply: the timeout is reached.
RESP3 Reply
One of the following:
- Bulk string reply: the element being popped from source and pushed to destination.
- Null reply: the timeout is reached.
History
- Starting with Redis version 6.0.0:
timeoutis interpreted as a double instead of an integer.