码迷,mamicode.com
首页 > 其他好文 > 详细

Redis发布订阅

时间:2018-04-30 15:34:33      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:uda   UI   sub   psu   red   inf   href   log   span   

适用场景

  • 直播消息
  • 弹幕消息
  • 粉丝订阅消息推送

知识点

1、关键字:PUBLISH SUBSCRIBE PSUBSCRIBE

  • Redis采用PUBLISH命令发送消息,其返回值为接收到该消息的订阅者的数量。
  • Redis采用SUBSCRIBE命令订阅某个频道,其返回值包括客户端订阅的频道,目前已订阅的频道数量,以及接收到的消息,其中subscribe表示已经成功订阅了某个频道。

2、示例:

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的订阅操作是阻塞式的,因此一旦客户端订阅了某个频道或模式,就将会一直处于订阅状态直到退出。

3、支持模式匹配
客户端可以使用命令PSUBSCRIBE一次性订阅符合模式匹配的多个频道,例如:

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开头的频道。

4、注意:

  • 订阅方可以提前预定,即使频道不存在。
  • 订阅方只能收到订阅之后的消息,订阅之前的消息收不到。

参考

1、Redis发布订阅机制 - yitudake - 博客园
https://www.cnblogs.com/yitudake/p/6747995.html

Redis发布订阅

标签:uda   UI   sub   psu   red   inf   href   log   span   

原文地址:https://www.cnblogs.com/52fhy/p/8973563.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!