ZMPOP
ZMPOP
ZMPOP numkeys key [key ...] <MIN | MAX> [COUNT count]
- Доступно с версии:
- 7.0.0
- Сложность по времени:
- O(K) + O(M*log(N)), где K — количество предоставленных ключей, N — количество элементов в упорядоченном множестве, а M — количество извлечённых элементов.
- Категории ACL:
-
@write,@sortedset,@slow,
Извлекает один или несколько элементов, которые являются парами «член-оценка», из первого непустого упорядоченного множества в предоставленном списке имён ключей.
ZMPOP и BZMPOP похожи на следующие, более ограниченные, команды:
-
ZPOPMINилиZPOPMAX, которые принимают только один ключ и могут возвращать несколько элементов. -
BZPOPMINилиBZPOPMAX, которые принимают несколько ключей, но возвращают только один элемент из одного ключа.
См. BZMPOP для блокирующей версии этой команды.
Когда используется модификатор MIN, извлекаются элементы с наименьшими оценками из первого непустого упорядоченного множества. Модификатор MAX вызывает извлечение элементов с наибольшими оценками. Необязательный параметр COUNT может использоваться для указания количества извлекаемых элементов, и по умолчанию он равен 1.
Количество извлечённых элементов — это минимум из мощности упорядоченного множества и значения COUNT.
Возврат
Массивный ответ: конкретно:
- A
nilв случае, если ни один элемент не может быть извлечён. - Массив из двух элементов, где первый элемент — имя ключа, из которого были извлечены элементы, а второй элемент — массив извлечённых элементов. Каждый элемент в массиве элементов также является массивом, содержащим член и его оценку.
Примеры
ZMPOP 1 notsuchkey MIN ZADD myzset 1 "one" 2 "two" 3 "three" ZMPOP 1 myzset MIN ZRANGE myzset 0 -1 WITHSCORES ZMPOP 1 myzset MAX COUNT 10 ZADD myzset2 4 "four" 5 "five" 6 "six" ZMPOP 2 myzset myzset2 MIN COUNT 10 ZRANGE myzset 0 -1 WITHSCORES ZMPOP 2 myzset myzset2 MAX COUNT 10 ZRANGE myzset2 0 -1 WITHSCORES EXISTS myzset myzset2
© 2006–2022 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
https://redis.io/commands/zmpop/