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/