SPOP

语法
SPOP key [count]
可用版本
Redis Open Source 1.0.0
时间复杂度
没有 count 参数时为 O(1),否则为 O(N),其中 N 是传入的 count 值。
ACL 类别
@write, @set, @fast,

从存储在 key 的集合值中移除并返回一个或多个随机成员。

此操作类似于 SRANDMEMBER,后者从集合中返回一个或多个随机元素,但不将其移除。

默认情况下,此命令从集合中弹出一个成员。当提供可选的 count 参数时,返回结果将包含最多 count 个成员,具体取决于集合的基数。

示例

SADD myset "one" SADD myset "two" SADD myset "three" SPOP myset SMEMBERS myset SADD myset "four" SADD myset "five" SPOP myset 3 SMEMBERS myset

返回元素的分布

请注意,如果您需要返回元素保证均匀分布,则此命令不适用。有关 SPOP 使用的算法的更多信息,请查找 Knuth 采样算法和 Floyd 采样算法。

RESP2 回复

以下之一

RESP3 回复

以下之一


历史

  • 从 Redis 3.2.0 版本开始:添加了 count 参数。
为此页评分
返回顶部 ↑