Redis Commands
- A
- B
- Client
-
Cluster
- Cluster-addslots
- Cluster-addslotsrange
- Cluster-bumpepoch
- Cluster-count-failure-reports
- Cluster-countkeysinslot
- Cluster-delslots
- Cluster-delslotsrange
- Cluster-failover
- Cluster-flushslots
- Cluster-forget
- Cluster-getkeysinslot
- Cluster-help
- Cluster-info
- Cluster-keyslot
- Cluster-links
- Cluster-meet
- Cluster-myid
- Cluster-myshardid
- Cluster-nodes
- Cluster-replicas
- Cluster-replicate
- Cluster-reset
- Cluster-saveconfig
- Cluster-set-config-epoch
- Cluster-setslot
- Cluster-shards
- Cluster-slaves
- Cluster-slots
- Cluster
- Command
- Config
- D
- E
- F
- G
- H
- I
- K
- L
- M
- O
- P
- Q
- R
- S1
- S2
- T
- U
- W
- X
- Z1
- Z2
Docs > Redis Commands > S2 > Spop
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.
@return
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 an empty array when key
does not exist.
@examples
SADD myset "one"
SADD myset "two"
SADD myset "three"
SPOP myset
SMEMBERS myset
SADD myset "four"
SADD myset "five"
SPOP myset 3
SMEMBERS myset
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.