Spec-Zone.ru › Redis

SPOP

SPOP
Синтаксис
SPOP key [count]
Доступно с версии:
1.0.0
Сложность по времени:
Без аргумента count O(1), в противном случае O(N), где N — значение переданного count.
Категории ACL:
@write, @set, @fast,

Удаляет и возвращает один или несколько случайных элементов из хранилища наборов значений в key.

Эта операция аналогична SRANDMEMBER, которая возвращает один или несколько случайных элементов из набора, но не удаляет его.

По умолчанию команда удаляет один элемент из набора. При использовании необязательного аргумента count, ответ будет содержать до count элементов, в зависимости от мощности набора.

Возврат

При вызове без аргумента count:

Ответ в виде строки: удалённый элемент или nil, если key не существует.

При вызове с аргументом count:

Ответ в виде массива: удалённые элементы или пустой массив, если key не существует.

Примеры

SADD myset "one"
SADD myset "two"
SADD myset "three"
SPOP myset
SMEMBERS myset
SADD myset "four"
SADD myset "five"
SPOP myset 3
SMEMBERS myset

Распределение возвращаемых элементов

Обратите внимание, что эта команда не подходит, когда вам нужна гарантированная равномерная выборка возвращаемых элементов. Для получения более подробной информации об алгоритмах, используемых для SPOP, см. алгоритмы выборки Кнута и Флойда.

История

  • Начиная с версии Redis 3.2.0: добавлен аргумент count.

© 2006–2022 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
https://redis.io/commands/spop/

Spec-Zone.ru

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