SPOP key [count]
Removes and returns one or more random members from the set value store at key
.
This operation is similar to SRANDMEMBER, that returns one or more random elements from a set but does not remove it.
By default, the command pops a single member from the set. When provided with the optional count
argument, the reply will consist of up to count
members, depending on the set's cardinality.
When called without the count
argument:
Bulk string reply: the removed member, or nil
when key
does not exist.
When called with the count
argument:
Array reply: the removed members, or nil
when key
does not exist.
>= 3.2
: Added the count
argument.(integer) 1
redis> SADD myset "two" (integer) 1
redis> SADD myset "three" (integer) 1
redis> SPOP myset "one"
redis> SMEMBERS myset 1) "two"
2) "three"
redis> SADD myset "four" (integer) 1
redis> SADD myset "five" (integer) 1
redis> SPOP myset 3 1) "two"
2) "five"
3) "four"
redis> SMEMBERS myset 1) "three"
Note that this command is not suitable when you need a guaranteed uniform distribution of the returned elements. For more information about the algorithms used for SPOP, look up both the Knuth sampling and Floyd sampling algorithms.
© 2009–2020 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
https://redis.io/commands/spop