BZPOPMIN
BZPOPMIN key [key ...] timeout
- Group
- Sorted set
- Complexity
- O(log(N)) where N is the size of the sorted set
- Arity
- -3 (at least 3 words, counting the command name)
- Flags
- write, blocking, fast
- Keys
- first 1, last -2, step 1
- HotKV Cloud
- All plans
- On-Premise
- no license needed
BZPOPMIN is the blocking form of ZPOPMIN. It checks
the keys in the order given and pops the lowest-scored member of the first one
that holds a non-empty sorted set. If every sorted set is empty or missing, the
connection waits until another client adds a member to one of the keys, or
until timeout passes.
timeout is in seconds and can have a fractional part. 0 waits forever.
Inside MULTI / EXEC and inside scripts,
BZPOPMIN never waits and replies at once as if the timeout had expired.
Return value
Section titled “Return value”| Case | RESP2 | RESP3 |
|---|---|---|
| Member popped | Three-element array: the key, the member, the score (bulk string) | Three-element array: key, member, score (double) |
| Timeout expired | Nil array | Null |
Errors:
ERR timeout is not a float or out of range,ERR timeout is negative, orERR timeout is out of rangefor a badtimeout.WRONGTYPEif a key reached before the first non-empty sorted set holds a value that is not a sorted set.
Examples
Section titled “Examples”127.0.0.1:6379> ZADD tasks 2 "normal" 1 "urgent"(integer) 2127.0.0.1:6379> BZPOPMIN empty tasks 51) "tasks"2) "urgent"3) "1"127.0.0.1:6379> BZPOPMIN empty 0.5(nil)(0.50s)Compatibility
Section titled “Compatibility”Same as Redis 7.4 and Valkey 8.
See also
Section titled “See also”Was this page helpful?
Thanks for the feedback.