ZPOPMIN 命令删除并返回有序集合 key 中的最多 count 个具有最低得分的成员。如果没有显示地指定 count 参数,默认值为 1;指定一个大于有序集合的基数(成员的个数)的 count 参数,系统也不会产生错误。当返回多个元素时候,得分最低的元素将是第一个元素,依次是分数较高的元素。
ZPOPMIN 命令本质上是对 Redis 底层数据结构跳跃表中最低分数范围内的删除操作。
命令格式
ZPOPMIN key [count]
可用版本:>=5.0.0
时间复杂度:O(log(N)*M),N 为 有序集合的基数(成员个数),M 为指定的 count 数。
命令返回值
移除且弹出的元素和分数列表。
示例
redis> ZADD myzset 1 member_one
(integer) 1
redis> ZADD myzset 2 member_two
(integer) 1
redis> ZADD myzset 3 member_three
(integer) 1
redis> ZPOPMIN myzset # 未指定 count 数,返回 1 个分数最小的成员
1) "member_one"
2) "1"
redis> ZPOPMIN myzset 3 # 指定返回的 count 数大于成员总个数,按照分数从小到大返回所有成员
1) "member_two"
2) "2"
3) "member_three"
4) "3"
redis>