Redis 的 SPOP 命令用于移除并返回 集合 中的一个随机元素。如果只想获取一个随机元素,但不想该元素从集合中被移除的话,可以使用 SRANDMEMBER 命令。
192.168.98.70:6379> SPOP KEY
参数 | 描述 |
---|---|
KEY | 要移除元素的集合的键。 |
被移除的随机元素。当 KEY 不存在或 KEY 是空集时,返回 nil 。
O(1)
>= 1.0.0
KEY 不存在,返回 0
192.168.98.70:6379> SCARD haicoder (integer) 0 192.168.98.70:6379> SPOP haicoder (nil)
我们首先,使用 SCARD 命令,获取键为 haicoder 的集合的元素个数,返回 0,即集合不存在。接着,我们使用 SPOP 命令,移除并返回集合 haicoder 的任意一个元素,返回 nil。
KEY 存在,返回任意一个元素
192.168.98.70:6379> SADD haicoder Redis Mongo (integer) 2 192.168.98.70:6379> SPOP haicoder "Mongo" 192.168.98.70:6379> SMEMBERS haicoder 1) "Redis" 192.168.98.70:6379> SPOP haicoder "Redis" 192.168.98.70:6379> SMEMBERS haicoder (empty list or set)
我们首先,使用 SADD 命令,向键为 haicoder 的集合中添加元素 Redis 和 Mongo 。使用 SPOP 命令,移除并返回集合 haicoder 的任意一个元素,返回 Mongo。
接着,我们使用 SMEMBERS 命令,获取集合 haicoder 的元素,此时只剩下元素 Redis ,即元素 Mongo 已被移除。
最后,我们使用 SPOP 命令,移除并返回集合 haicoder 的任意一个元素,返回 Redis。使用 SMEMBERS 命令,获取集合 haicoder 的元素,返回了空集合,即元素 Redis 已被移除。
Redis 的 SPOP 命令用于移除并返回集合中的一个随机元素。Redis SPOP 命令语法:
192.168.98.70:6379> SPOP KEY