ZRANDMEMBER
ZRANDMEMBER
ZRANDMEMBER key [count [WITHSCORES]]
- Доступно с версии:
- 6.2.0
- Сложность по времени:
- O(N), где N — количество возвращенных элементов
- Категории ACL:
-
@read,@sortedset,@slow,
При вызове только с аргументом key, возвращает случайный элемент из упорядоченного множества, хранящегося в key.
Если переданный аргумент count положительный, возвращает массив различных элементов. Длина массива — либо count, либо мощность упорядоченного множества (ZCARD), в зависимости от того, что меньше.
Если передан отрицательный аргумент count, поведение изменяется, и команда может возвращать один и тот же элемент несколько раз. В этом случае количество возвращаемых элементов равно по модулю указанному значению count.
Необязательный модификатор WITHSCORES изменяет ответ, включая соответствующие оценки случайно выбранных элементов из упорядоченного множества.
Возврат
Ответ в виде строки: без дополнительного аргумента count, команда возвращает строковый ответ со случайным элементом или nil, если key не существует.
Ответ в виде массива: при передаче дополнительного аргумента count, команда возвращает массив элементов или пустой массив, если key не существует. Если используется модификатор WITHSCORES, ответ представляет собой список элементов и их оценок из упорядоченного множества.
Примеры
ZADD dadi 1 uno 2 due 3 tre 4 quattro 5 cinque 6 sei ZRANDMEMBER dadi ZRANDMEMBER dadi ZRANDMEMBER dadi -5 WITHSCORES
Описание поведения при передаче аргумента count
Когда аргумент count имеет положительное значение, эта команда ведет себя следующим образом:
- Не возвращаются повторяющиеся элементы.
- Если
countбольше, чем мощность упорядоченного множества, команда вернет только все элементы упорядоченного множества без дополнительных элементов. - Порядок элементов в ответе не является истинно случайным, поэтому клиенту необходимо переупорядочить их, если это необходимо.
Когда аргумент count имеет отрицательное значение, поведение изменяется следующим образом:
- Возможны повторяющиеся элементы.
- Возвращается ровно
countэлементов или пустой массив, если упорядоченное множество пустое (ключ не существует). - Порядок элементов в ответе является истинно случайным.
© 2006–2022 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
https://redis.io/commands/zrandmember/