What's new in Valkey 9.0? Discover new features and improvements. Read the announcement.

BRPOPLPUSH

Pops an element from a list, pushes it to another list and returns it. Blocks until an element is available otherwise. Deletes the list if the last element was popped.

Usage
BRPOPLPUSH source destination timeout
Complexity
O(1)
Since
2.2.0
ACL Categories
@blocking, @list, @slow, @write
Command flags
WRITE, DENYOOM, 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, 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.

Pattern: Reliable queue

Please see the pattern description in the RPOPLPUSH documentation.

Pattern: Circular list

Please see the pattern description in the RPOPLPUSH documentation.

Alternative

BLMOVE with the RIGHT and LEFT arguments.

Replies

RESP2

One of the following:

RESP3

One of the following:

History

  • 6.0.0: `timeout` is interpreted as a double instead of an integer.