UNSUBSCRIBE
UNSUBSCRIBE 命令用于取消订阅指定的频道。如果没有提供频道名称,则取消订阅所有频道。
Redis 原生命令语法
Section titled “Redis 原生命令语法”UNSUBSCRIBE [channel [channel ...]]参数说明
- channel: 可选参数,一个或多个要取消订阅的频道名称。如果不指定任何频道,则取消订阅所有频道。
UNSUBSCRIBE 命令用于取消客户端之前通过 SUBSCRIBE 命令订阅的一个或多个频道。当客户端不再需要接收特定频道的消息时,可以使用此命令取消订阅。
当客户端成功取消订阅频道时,会收到一个包含三个元素的数组回复:
- 第一个元素是 “unsubscribe” 字符串
- 第二个元素是被取消订阅的频道名称
- 第三个元素是客户端当前订阅的频道数量
如果客户端在执行 UNSUBSCRIBE 命令后不再订阅任何频道,它将从订阅状态中退出,并可以发送任何类型的命令。
Redisun 使用方式
Section titled “Redisun 使用方式”在 Redisun 中,UNSUBSCRIBE 功能通过 UnsubscribeCommand 类和 Redisun 类中的 unsubscribe 方法实现。
Redisun redisun = Redisun.create(options -> { options.setAddress("redis://127.0.0.1:6379");});
// 订阅频道redisun.subscribe(subscriber, "channel1", "channel2", "channel3");
// 取消订阅特定频道redisun.unsubscribe("channel1", "channel2");
// 取消订阅所有频道redisun.unsubscribe();- 如果没有提供频道参数,UNSUBSCRIBE 命令将取消订阅所有频道
- 取消订阅所有频道后,客户端将退出订阅状态,可以执行其他 Redis 命令
- 只能取消订阅当前客户端已经订阅的频道
- 取消订阅不存在的频道不会产生错误