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