SPOP 命令从存储在 key 的集合中移除并返回一个或多个随机元素。该操作与 SRANDMEMBER 类似,它从一个集合中返回一个或多个随机元素,但 SRANDMEMBER 不删除元素。
命令格式
SPOP key [count]
可用版本:>=1.0.0
时间复杂度:O(1)
命令返回值
返回字符串:
- 返回被移除的随机元素。
- 当 key 不存在或 key 是空集时,返回 nil。
历史版本
从 Redis 3.2 版本开始增加 count 参数,支持多个元素操作。
示例
redis> SADD myset "one"
(integer) 1
redis> SADD myset "two"
(integer) 1
redis> SADD myset "three"
(integer) 1
redis> SPOP myset
"two"
redis> SMEMBERS myset
1) "three"
2) "one"
redis> SADD myset "four"
(integer) 1
redis> SADD myset "five"
(integer) 1
redis> SPOP myset 3
1) "five"
2) "four"
3) "three"
redis> SMEMBERS myset
1) "one"