Redis ZREM命令

Redis ZREM命令教程

Redis 的 ZREM 命令用于移除 有序集 KEY 中的一个或多个成员,不存在的成员将被忽略。当 KEY 存在但不是有序集类型时,返回一个错误。

Redis ZREM命令详解

语法

192.168.98.70:6379> ZREM KEY member [member ...]

参数

参数 描述
KEY 有序集合的键。
member 要移除的成员。

返回值

被成功移除的成员的数量,不包括被忽略的成员。

时间复杂度

O(M*log(N)), N 为有序集的基数, M 为被成功移除的成员的数量。

可用版本

>= 1.2.0

技术细节

在 Redis 2.4 版本以前, ZREM 每次只能删除一个元素。

案例

元素存在

元素存在,移除成功

192.168.98.70:6379> ZADD haicoder 100 Redis 50 Mongo 200 Mysql 10 SqlServer (integer) 4 192.168.98.70:6379> ZREM haicoder Redis (integer) 1 192.168.98.70:6379> ZRANGE haicoder 0 -1 1) "SqlServer" 2) "Mongo" 3) "Mysql" 192.168.98.70:6379> DEL haicoder (integer) 1

我们首先,使用 ZADD 命令,向键为 haicoder 的集合中批量插入元素。接着,使用 ZREM 命令,删除集合 haicoder 中的元素 Redis。

最后,我们使用 ZRANGE 命令,获取集合中的所有数据,元素 Redis 已被删除。

元素不存在

元素不存在,不做任何处理

192.168.98.70:6379> ZADD haicoder 100 Redis 50 Mongo 200 Mysql 10 SqlServer (integer) 4 192.168.98.70:6379> ZREM haicoder Redis1 (integer) 0 192.168.98.70:6379> ZRANGE haicoder 0 -1 1) "SqlServer" 2) "Mongo" 3) "Redis" 4) "Mysql" 192.168.98.70:6379> DEL haicoder (integer) 1

我们首先,使用 ZADD 命令,向键为 haicoder 的集合中批量插入元素。最后,我们使用 ZREM 命令,删除集合 haicoder 中的元素 Redis1,元素 Redis1 不存在,不做任何处理。

移除多个元素

可以使用 ZREM 命令,同时删除多个元素

192.168.98.70:6379> ZADD haicoder 100 Redis 50 Mongo 200 Mysql 10 SqlServer (integer) 4 192.168.98.70:6379> ZREM haicoder Redis Mongo (integer) 2 192.168.98.70:6379> ZRANGE haicoder 0 -1 1) "SqlServer" 2) "Mysql" 192.168.98.70:6379> DEL haicoder (integer) 1

我们首先,使用 ZADD 命令,向键为 haicoder 的集合中批量插入元素。接着,使用 ZREM 命令,删除集合 haicoder 中的元素 Redis 和 Mongo。

最后,我们使用 ZRANGE 命令,获取集合中的所有数据,此时元素 Redis 和元素 Mongo 都已被删除。

Redis ZREM命令总结

Redis 的 ZREM 命令教程用于移除有序集 KEY 中的一个或多个成员,不存在的成员将被忽略。Redis ZREM 命令语法:

192.168.98.70:6379> ZREM KEY member [member ...]