Spec-Zone.ru › Redis

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/

Spec-Zone.ru

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