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

从储存在键 key 中的有序集合(Sorted set)中删除指定成员。不存在的成员将被忽略。

Removes the specified members from the sorted set stored at key. Non existing members are ignored.

如果键 key 存在,但容纳的数据类型不是有序集合,将会返回一个错误。

An error is returned when key exists and does not hold a sorted set.
  • 返回从当前有序集合中删除的成员的个数,不包括本来就不存在的元素。

    The number of members removed from the sorted set, not including non existing members.
  • redis> ZADD myzset 1 "one"
    (integer) 1
    redis> ZADD myzset 2 "two"
    (integer) 1
    redis> ZADD myzset 3 "three"
    (integer) 1
    redis> ZREM myzset "two"
    (integer) 1
    redis> ZRANGE myzset 0 -1 WITHSCORES
    1) "one"
    2) "1"
    3) "three"
    4) "3"
  • 版本支持

    1.2.0+

    2.4+ 版本才支持同时删除多个元素,之前版本一次只能删除单个成员。

    时间复杂度(Time complexity)

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

    O(M*log(N)) with N being the number of elements in the sorted set and M the number of elements to be removed.