Redis系列学习笔记10 发布与订阅

发布与订阅

定义与模型

订阅命令与发布命令

订阅频道或模式、退订频道或模式、发布消息。

SUBSCRIBE channel [channel …]

订阅给定的一个或多个频道。

PSUBSCRIBE pattern [pattern …]

订阅一个或多个模式, pattern 参数可以包含 glob 风格的匹配符,比如:

  • news::* 模式可以匹配 news::bussiness 、 news::it 、 news::sports::football 等频道;
  • news::[ie]t 模式可以匹配 news::it 频道或者 news::et 频道;
  • news::?t 模式可以匹配 news::it 、 news::et 、 news::at 等频道;

UNSUBSCRIBE [channel [channel …]]

退订指定的频道。如果执行时没有指定任何频道,那么退订已订阅的所有频道。

PUNSUBSCRIBE [pattern [pattern …]]

退订指定的模式。如果执行时没有指定任何模式,那么退订已订阅的所有模式。

PUBLISH channel message

将消息发送至指定的频道,命令返回接收到消息的订阅者数量。

订阅状态命令

查看被订阅的频道、频道的订阅数量以及模式的订阅数量。

PUBSUB CHANNELS [pattern]

列出目前至少有一个订阅者的频道。如果给定了可选的 pattern 参数,那么只列出与模式相匹配的频道。

PUBSUB NUMSUB [channel-1 … channel-N]

返回给定频道的订阅者数量。

PUBSUB NUMPAT

返回服务器目前被订阅的模式数量。

直播间示例

API作用实现原理
LiveRoom(client, name)设置直播间的客户端和名字。名字会被用作频道名字。
LiveRoom.play(song_id)播主功能,播放指定歌曲。调用 PUBLISH 命令,向频道发送播放指令。
LiveRoom.listen()听众功能,收听播主播放的歌曲。调用 SUBSCRIBE 订阅指定频道,并根据频道转发的消息来播放指定的歌曲。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值