Get one or multiple random members from a set
SRANDMEMBER
key
[count]
When called with just the key
argument, return a random
element from the set value stored at key
.
If the provided count
argument is positive, return an
array of distinct elements. The array’s length is
either count
or the set’s cardinality (SCARD
),
whichever is lower.
If called with a negative count
, the behavior changes
and the command is allowed to return the same element multiple
times. In this case, the number of returned elements is the
absolute value of the specified count
.
One of the following:
Bulk string reply: without the additional count argument, the command returns a randomly selected member, or a Nil reply when key doesn’t exist.
Array reply: when the optional count argument is passed, the command returns an array of members, or an empty array when key doesn’t exist.
One of the following:
Bulk string reply: without the additional count argument, the command returns a randomly selected member, or a Null reply when key doesn’t exist.
Array reply: when the optional count argument is passed, the command returns an array of members, or an empty array when key doesn’t exist.
Without the count argument O(1), otherwise O(N) where N is the absolute value of the passed count.
@read @set @slow
127.0.0.1:6379> SADD myset one two three
(integer) 3
127.0.0.1:6379> SRANDMEMBER myset
"three"
127.0.0.1:6379> SRANDMEMBER myset 2
1) "one"
2) "three"
127.0.0.1:6379> SRANDMEMBER myset -5
1) "two"
2) "one"
3) "one"
4) "one"
5) "two"
When the count
argument is a positive value this command
behaves as follows:
count
is bigger than the set’s cardinality, the
command will only return the whole set without additional elements.When the count
is a negative value, the behavior changes
as follows:
count
elements, or an empty array if the set is
empty (non-existing key), are always returned.count
argument.SADD, SCARD, SDIFF, SDIFFSTORE, SINTER, SINTERCARD, SINTERSTORE, SISMEMBER, SMEMBERS, SMISMEMBER, SMOVE, SPOP, SREM, SSCAN, SUNION, SUNIONSTORE.