Redis SRANDMEMBER 命令
Redis SRANDMEMBER 命令用于返回集合中的一个随机元素。
( Redis >= 1.0.0 )
SRANDMEMBER 命令 和 SPOP 相似,但 SPOP 将随机元素从集合中移除并返回,而 SRANDMEMBER 则仅仅返回随机元素,而不对集合进行任何改动。
语法
Redis SRANDMEMBER 命令语法如下:
127.0.0.1:6379> SRANDMEMBER KEY [count]
从 Redis 2.6 版本开始, SRANDMEMBER 命令接受可选的 count 参数:
- 如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合基数,那么返回整个集合。
- 如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。
返回值
只提供集合 key 参数时,返回一个元素;如果集合为空,返回 nil 。
如果提供了 count 参数,那么返回一个数组;如果集合为空,返回空数组。
范例
127.0.0.1:6379> FLUSHALL OK 127.0.0.1:6379> SADD site "qq.com" (integer) 1 127.0.0.1:6379> SADD site "baidu.com" (integer) 1 127.0.0.1:6379> SADD site "mi.com" (integer) 1 127.0.0.1:6379> SMEMBERS site 1) "mi.com" 2) "baidu.com" 3) "qq.com" 127.0.0.1:6379> SRANDMEMBER site "baidu.com" 127.0.0.1:6379> SRANDMEMBER site 2 1) "qq.com" 2) "baidu.com" 127.0.0.1:6379> SMEMBERS site 1) "mi.com" 2) "baidu.com" 3) "qq.com"