Pops an element from a list, pushes it to another list and returns it. Block until an element is available otherwise. Deletes the list if the last element was popped.
BRPOPLPUSH
source
destination timeout
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, Valkey
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.
Please see the pattern description in the RPOPLPUSH
documentation.
Please see the pattern description in the RPOPLPUSH
documentation.
One of the following:
Bulk string reply: the element being popped from source and pushed to destination.
Nil reply: the timeout is reached.
One of the following:
Bulk string reply: the element being popped from source and pushed to destination.
Null reply: the timeout is reached.
O(1)
@blocking @list @slow @write
timeout
is interpreted as a double instead of an
integer.BLMOVE
with the
RIGHT
and LEFT
arguments.BLMOVE, BLMPOP, BLPOP, BRPOP, LINDEX, LINSERT, LLEN, LMOVE, LMPOP, LPOP, LPOS, LPUSH, LPUSHX, LRANGE, LREM, LSET, LTRIM, RPOP, RPUSH, RPUSHX.