BZPOPMIN
BZPOPMIN
BZPOPMIN key [key ...] timeout
- Доступно с версии:
- 5.0.0
- Временная сложность:
- O(log(N)), где N — количество элементов в упорядоченном множестве.
- Категории ACL:
-
@write,@sortedset,@fast,@blocking,
BZPOPMIN — это блокирующая версия примитива упорядоченного множества ZPOPMIN.
Она блокирует соединение, если нет элементов для извлечения из заданных упорядоченных множеств. Элемент с наименьшим значением оценки извлекается из первого непустого множества, ключи проверяются в заданном порядке.
Аргумент timeout интерпретируется как двойное значение, определяющее максимальное время блокировки в секундах. Значение 0 позволяет блокировать неограниченно.
См. документацию BLPOP для точного определения семантики, так как BZPOPMIN идентичен BLPOP, за исключением типа обрабатываемой структуры данных.
Возврат
Массив ответов: конкретно:
nilмногоэлементный массив, если ни один элемент не был извлечён, и таймаут истек.- Трехэлементный многоэлементный массив, где первый элемент — имя ключа, из которого был извлечён элемент, второй — сам извлечённый элемент, а третий — его оценка.
Примеры
redis> DEL zset1 zset2 (integer) 0 redis> ZADD zset1 0 a 1 b 2 c (integer) 3 redis> BZPOPMIN zset1 zset2 0 1) "zset1" 2) "a" 3) "0"
История
- Начиная с версии Redis 6.0.0:
timeoutинтерпретируется как двойное, а не целое число.
© 2006–2022 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
https://redis.io/commands/bzpopmin/