Spec-Zone.ru › Redis

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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API