summaryrefslogtreecommitdiffstats
path: root/iredis/data/commands/brpoplpush.md
blob: b37183f7daf337ef090bfdc46b320fe7b7c58950 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
`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.

As per Redis 6.2.0, BRPOPLPUSH is considered deprecated. Please prefer `BLMOVE`
in new code.

See `RPOPLPUSH` for more information.

@return

@bulk-string-reply: the element being popped from `source` and pushed to
`destination`. If `timeout` is reached, a @nil-reply is returned.

@history

- `>= 6.0`: `timeout` is interpreted as a double instead of an integer.

## Pattern: Reliable queue

Please see the pattern description in the `RPOPLPUSH` documentation.

## Pattern: Circular list

Please see the pattern description in the `RPOPLPUSH` documentation.