适用场景
- 直播消息
- 弹幕消息
- 粉丝订阅消息推送
知识点
一、关键字:PUBLISH SUBSCRIBE PSUBSCRIBEhtml
- Redis采用PUBLISH命令发送消息,其返回值为接收到该消息的订阅者的数量。
- Redis采用SUBSCRIBE命令订阅某个频道,其返回值包括客户端订阅的频道,目前已订阅的频道数量,以及接收到的消息,其中subscribe表示已经成功订阅了某个频道。
二、示例:redis
redis 127.0.0.1:6379> PUBLISH c1 "test" (integer) 0 redis 127.0.0.1:6379> PUBLISH c2 "test" (integer) 0
redis 127.0.0.1:6379> SUBSCRIBE c1 Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "c1" 3) (integer) 1 1) "message" 2) "c1" 3) "test"
Redis的订阅操做是阻塞式的,所以一旦客户端订阅了某个频道或模式,就将会一直处于订阅状态直到退出。bash
三、支持模式匹配 客户端能够使用命令PSUBSCRIBE一次性订阅符合模式匹配的多个频道,例如:ui
redis 127.0.0.1:6379> PSUBSCRIBE c* Reading messages... (press Ctrl-C to quit) 1) "psubscribe" 2) "c*" 3) (integer) 1 1) "pmessage" 2) "c*" 3) "c2" 4) "test2"
c*
表示任意c
开头的频道。url
四、注意:spa
- 订阅方能够提早预约,即便频道不存在。
- 订阅方只能收到订阅以后的消息,订阅以前的消息收不到。
参考
一、Redis发布订阅机制 - yitudake - 博客园 https://www.cnblogs.com/yitudake/p/6747995.html.net