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

来源:互联网 发布:怎么在淘宝卖二手东西 编辑:程序博客网 时间:2024/06/01 08:03

发布与订阅

定义与模型

订阅命令与发布命令

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

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
原创粉丝点击