1. subscribe命令
1.1. 语法: subscribe channel [channel ...]。
1.2. subscribe命令用于订阅给定的一个或多个频道的信息。
1.3. 在Redis客户端, 运行该命令会阻塞, 用于接收信息。
1.4. 实例
2. publish命令
2.1. 语法: publish channel message。
2.2. publish命令用于将信息发送到指定的频道。
2.3. 返回接收到信息的订阅者数量。
2.4. 实例
2.4.1. 在客户端二发布消息
2.4.2. 客户端一接收到了频道发生的消息
3. unsubscribe命令
3.1. 语法: unsubscribe [channel [channel ...]]。
3.2. unsubscribe命令用于退订给定的一个或多个频道的信息。
3.3. unsubscribe命令如果没有频道被指定, 也即是一个无参数的unsubscribe命令被执行, 那么客户端subscribe命令订阅的所有频道都会被退订。在这种情况下, 命令会返回一个信息, 告知客户端所有被退订的频道。
4. psubscribe命令
4.1. 语法: psubscribe pattern [pattern ...]。
4.2. psubscribe命令订阅一个或多个符合给定模式的频道。
4.3. 每个模式以 * 作为匹配符, 比如 it* 匹配所有以 it 开头的频道(it.news 、 it.blog 、 it.tweets 等等), news.* 匹配所有以 news. 开头的频道(news.it 、 news.global.today 等等), 诸如此类。
5. punsubscribe命令
5.1. 语法: punsubscribe [pattern [pattern ...]]。
5.2. punsubscribe命令用于退订所有给定模式的频道。
5.3. 如果没有模式被指定, 也即是一个无参数的punsubscribe调用被执行, 那么客户端使用psubscribe命令订阅的所有模式都会被退订。在这种情况下, 命令会返回一个信息, 告知客户端所有被退订的模式。
6. pubsub命令
6.1. 语法: pubsub subcommand [argument [argument ...]]。
6.2. pubsub命令用于查看订阅与发布系统状态, 它由数个不同格式的子命令组成。
6.3. 返回由活跃频道组成的列表。
6.4. 列出当前的活跃频道
6.4.1. 语法: pubsub channels [pattern]。
6.4.2. 列出当前的活跃频道。活跃频道指的是那些至少有一个订阅者的频道, 订阅模式的客户端不计算在内。
6.4.3. pattern参数是可选的:
- 如果不给出pattern参数, 那么列出订阅与发布系统中的所有活跃频道。
- 如果给出pattern参数, 那么只列出和给定模式pattern相匹配的那些活跃频道。
6.5. 返回给定频道的订阅者数量
6.5.1. 语法: pubsub numsub [channel-1 ... channel-n]。
6.5.2. 返回给定频道的订阅者数量, 订阅模式的客户端不计算在内。
6.5.3. 返回值: 一个多条批量回复(Multi-bulk reply), 回复中包含给定的频道, 以及频道的订阅者数量。格式为: 频道channel-1, channel-1的订阅者数量; 频道channel-2, channel-2的订阅者数量, 诸如此类。回复中频道的排列顺序和执行命令时给定频道的排列顺序一致。不给定任何频道而直接调用这个命令也是可以的, 在这种情况下, 命令只返回一个空列表。
6.6. 返回订阅模式的数量
6.6.1. 语法: pubsub numpat。
6.6.2. 注意, 这个命令返回的不是订阅模式的客户端的数量, 而是客户端订阅的所有模式的数量总和。相同的订阅也被计算在pubsub numpat之内。
6.6.3. 返回一个整数回复。
6.6.4. 实例