BRPOPLPUSH (deprecated)
As of Redis version 6.2.0, this command is regarded as deprecated.
It can be replaced by BLMOVE
with the RIGHT
and LEFT
arguments when migrating or writing new code.
Syntax
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:
timeout
is interpreted as a double instead of an integer.