SPOP key [count]
Available since
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

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.

Examples #

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

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.

History #

Added the `count` argument.

Redict logo courtesy of @janWilejan, CC-BY-SA-4.0. Download SVG ⤑

Portions of this website courtesy of Salvatore Sanfilippo, CC-BY-SA-4.0.