Redis SPOP 命令

Redis 集合(Set)

Redis SPOP 命令用于移除集合中的指定 key 的一个或多个随机元素,移除后会返回移除的元素。

该命令类似 Srandmember 命令,但 SPOP 将随机元素从集合中移除并返回,而 Srandmember 则仅仅返回随机元素,而不对集合进行任何改动。

 

1. 语法

redis SPOP 命令基本语法如下:

SPOP key [count]

count 参数在 3.2+ 版本可用。

 

2. 可用版本

>= 1.0.0

 

3. 返回值

被移除的随机元素。 当集合不存在或是空集时,返回 nil 。

 

4. 范例

redis 127.0.0.1:6379> SADD myset "one"
(integer) 1
redis 127.0.0.1:6379> SADD myset "two"
(integer) 1
redis 127.0.0.1:6379> SADD myset "three"
(integer) 1
redis 127.0.0.1:6379> SPOP myset
"one"
redis 127.0.0.1:6379> SMEMBERS myset
1) "three"
2) "two"
redis 127.0.0.1:6379> SADD myset "four"
(integer) 1
redis 127.0.0.1:6379> SADD myset "five"
(integer) 1
redis 127.0.0.1:6379> SPOP myset 3
1) "five"
2) "four"
3) "two"
redis 127.0.0.1:6379> SMEMBERS myset
1) "three"
redis> 

Redis 集合(Set)

Redis SRANDMEMBER 命令用于返回集合中的一个随机元素。语法:redis SRANDMEMBER 命令基本语法如下:SRANDMEMBER KEY [count]。返回值:只提供集合 key 参数时,返回一个元素;如果集合为空,返回 nil。 如果提供了 count 参数,那么返回一个数组;如果集合为空,返回空数组。