ZREM
ZREM 命令用于移除有序集合中的一个或多个指定成员。不存在的成员会被忽略。
如果键不存在,则将其视为空的有序集合,并返回 0。
ZREM 命令的时间复杂度为 O(M*log(N)),其中 N 是有序集合中的元素数量,M 是要移除的成员数量。
Redis 原生命令语法
Section titled “Redis 原生命令语法”ZREM key member [member ...]参数说明
- key: 有序集合的键
- member: 要移除的一个或多个成员
ZREM 命令从有序集合中移除指定的成员。如果指定的成员不存在于有序集合中,则会被忽略。如果有序集合不存在,会被视为空的有序集合处理。
命令返回被成功移除的成员数量,不包括不存在的成员。
redis> ZADD myzset 1 "one" 2 "two" 3 "three"(integer) 3redis> ZREM myzset "two"(integer) 1redis> ZRANGE myzset 0 -1 WITHSCORES1) "one"2) "1"3) "three"4) "3"redis> ZREM myzset "four"(integer) 0Redisun 使用方式
Section titled “Redisun 使用方式”在 redisun 中,ZREM 命令通过 ZRemCommand 类和 Redisun 类中的 zrem 方法实现。
Redisun redisun = Redisun.create(options -> { options.setHost("localhost"); options.setPort(6379);});
// 添加一些测试数据redisun.zadd("myzset", 1.0, "one");redisun.zadd("myzset", 2.0, "two");redisun.zadd("myzset", 3.0, "three");
// 移除单个成员long removedCount = redisun.zrem("myzset", "two");
// 移除多个成员long removedCount2 = redisun.zrem("myzset", "one", "three");// 异步移除成员CompletableFuture<Long> future = redisun.asyncZrem("myzset", "two");
// 处理异步结果future.thenAccept(removedCount -> { System.out.println("Removed " + removedCount + " members");});- 不存在的成员会被忽略,不会产生错误
- 如果键不存在,会被视为空的有序集合处理
- 命令返回被成功移除的成员数量