Redis ZREMRANGEBYSCORE命令

Redis ZREMRANGEBYSCORE命令教程

Redis 的 ZREMRANGEBYSCORE 命令用于移除 有序集 KEY 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。

自版本 2.1.6 开始, score 值等于 min 或 max 的成员也可以不包括在内,详情请参见 ZRANGBYSCORE 命令。

Redis ZREMRANGEBYSCORE命令详解

语法

192.168.98.70:6379> ZREMRANGEBYSCORE KEY min max

参数

参数 描述
KEY 有序集合的键。
min 要获取的成员的 score 的最小值。
max 要获取的成员的 score 的最大值。

返回值

被移除成员的数量。

时间复杂度

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

可用版本

>= 1.2.0

案例

分数区间存在

分数区间存在,移除成功

192.168.98.70:6379> ZADD haicoder 100 Redis 50 Mongo 200 Mysql 10 SqlServer (integer) 4 192.168.98.70:6379> ZRANGE haicoder 0 -1 1) "SqlServer" 2) "Mongo" 3) "Redis" 4) "Mysql" 192.168.98.70:6379> ZREMRANGEBYSCORE haicoder 50 100 (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 的集合中批量插入元素。接着,我们使用 ZREMRANGEBYSCORE 命令,删除集合 haicoder 中的分数在 50 到 100 之间的元素。

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

Redis ZREMRANGEBYSCORE命令总结

Redis 的 ZREMRANGEBYSCORE 命令用于移除有序集 KEY 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。Redis ZREMRANGEBYSCORE 命令语法:

192.168.98.70:6379> ZREMRANGEBYSCORE KEY min max