Redis Set SPOP Command
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.
Syntax
The basic syntax of the SPOP
command is as follows:
1 | SPOP key [count] |
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.
Note: the count
argument is available in version 3.2.0 and later.
Distribution of returned elements
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.
Available Since
Redis version >= 1.0.0
Time Complexity
Without the count argument O(1), otherwise O(N) where N is the value of the passed count.
ACL Categories
@write
, @set
, @fast
Return Value
Returns the removed member(s). Returns nil
if the set does not exist or is empty.
Example 1
1 | 127.0.0.1:6379> SADD myset a b c d e f g |
Example 2
Returns nil
if the set does not exist:
1 | 127.0.0.1:6379> SPOP ss |
Returns nil
if the set is empty:
1 | 127.0.0.1:6379> SMEMBERS myset |