- 用法
-
ZMPOP numkeys key [ key ... ] 〈 MIN | MAX 〉 [ COUNT count ]
- 复杂度
- O(K) + O(M*log(N)),其中 K 是提供的键的数量,N 是有序集合中的元素数量,M 是弹出的元素数量。
- 版本
- 7.0.0
- ACL 类别
- @sortedset, @write, @slow
ZPOPMIN
或ZPOPMAX
,它们只接受一个键,但可以返回多个元素。BZPOPMIN
或BZPOPMAX
,它们接受多个键,但只从一个键中返回一个元素。
从提供的键名列表中第一个非空的有序集合中弹出一个或多个元素(成员-分数对)。
ZMPOP
和 BZMPOP
类似于以下功能更受限的命令:
请参阅 BZMPOP
以了解此命令的阻塞变体。
当使用 MIN
修饰符时,弹出的元素是来自第一个非空有序集合中分数最低的元素。MAX
修饰符会导致分数最高的元素被弹出。可选的 COUNT
可以用于指定要弹出的元素数量,默认设置为 1。
弹出的元素数量是排序集合的基数和 COUNT
值中的最小值。
示例
127.0.0.1:6379> ZMPOP 1 notsuchkey MIN
(nil)
127.0.0.1:6379> ZADD myzset 1 "one" 2 "two" 3 "three"
(integer) 3
127.0.0.1:6379> ZMPOP 1 myzset MIN
1) "myzset"
2) 1) 1) "one"
2) "1"
127.0.0.1:6379> ZRANGE myzset 0 -1 WITHSCORES
1) "two"
2) "2"
3) "three"
4) "3"
127.0.0.1:6379> ZMPOP 1 myzset MAX COUNT 10
1) "myzset"
2) 1) 1) "three"
2) "3"
2) 1) "two"
2) "2"
127.0.0.1:6379> ZADD myzset2 4 "four" 5 "five" 6 "six"
(integer) 3
127.0.0.1:6379> ZMPOP 2 myzset myzset2 MIN COUNT 10
1) "myzset2"
2) 1) 1) "four"
2) "4"
2) 1) "five"
2) "5"
3) 1) "six"
2) "6"
127.0.0.1:6379> ZRANGE myzset 0 -1 WITHSCORES
(empty array)
127.0.0.1:6379> ZMPOP 2 myzset myzset2 MAX COUNT 10
(nil)
127.0.0.1:6379> ZRANGE myzset2 0 -1 WITHSCORES
(empty array)
127.0.0.1:6379> EXISTS myzset myzset2
(integer) 0
RESP2 回复
以下之一
RESP3 回复
以下之一