本文内容为 http://redis.io/commands/zremrangebyscore 的翻译、注解、例子扩充及其它修改。感谢 Redis 作者 Antirez 为开源社区作出的贡献,本文保证最新、最准、最全以表示对其的敬意。欢迎留言纠错、提示更新或支持。
ZREMRANGEBYSCORE key min max

移除存储在键 key 对应的有序集合(Sorted set)中,且分值在最小值 min 与最大值 max 之间的所有元素。

Removes all elements in the sorted set stored at key with a score between min and max (inclusive).

从版本 2.1.6 开始,最小值 min 及最大值 max 可以单独出现(Exclusive),且遵守与命令 ZRANGEBYSCORE 中的最小值、最大值参数相同的语义。

Since version 2.1.6, min and max can be exclusive, following the syntax of ZRANGEBYSCORE.
  • 被删除元素的个数。

    The number of elements removed.
  • redis> ZADD myzset 1 "one"
    (integer) 1
    redis> ZADD myzset 2 "two"
    (integer) 1
    redis> ZADD myzset 3 "three"
    (integer) 1
    redis> ZREMRANGEBYSCORE myzset -inf (2
    (integer) 1
    redis> ZRANGE myzset 0 -1 WITHSCORES
    1) "two"
    2) "2"
    3) "three"
    4) "3"
  • 版本支持

    1.2.0+

    时间复杂度(Time complexity)

    O(log(N)+M)N 为有序集合中元素的个数,M 为删除的元素个数。

    O(log(N)+M) with N being the number of elements in the sorted set and M the number of elements removed by the operation.