前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >redis的发布/订阅模式

redis的发布/订阅模式

作者头像
青山师
发布2023-05-04 20:15:37
4290
发布2023-05-04 20:15:37
举报

redis publish/subscribe(发布/订阅)模式

publish/subscribe 是一种消息接收模式,一个消息发布者,可以有很多消息消费者(订阅)接收消息. 更多详细关于发布/订阅模式的讲解,可以参考笔者的译文:Rabbirmq JAVA编程(三) Publish/Subscribe(发布/订阅) 现在走一遍整个订阅/发布流程:

Step1⊙ 订阅者客户端subscriber1:第一个客户端订阅了来自两个通道(key)——foo、bar的消息,会等待发布者发布消息。

代码语言:javascript
复制
/*19:00订阅消息*/
127.0.0.1:6379> subscribe foo bar
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "foo"
3) (integer) 1
1) "subscribe"
2) "bar"
3) (integer) 2

Step2⊙ 消息发布者客户端publisher,19:05开始发布消息:

代码语言:javascript
复制
/*这是发布消息的客户端,开始发布消息,目前一共有一个订阅者 —— subscriber1*/
127.0.0.1:6379> publish foo haha
(integer) 1
127.0.0.1:6379> publish foo hehe
(integer) 1
127.0.0.1:6379> publish foo yeah
(integer) 1
127.0.0.1:6379> publish foo nice
(integer) 1
127.0.0.1:6379> publish foo gg
(integer) 1
127.0.0.1:6379> publish foo DK
(integer) 1
127.0.0.1:6379> publish foo SA
(integer) 1
127.0.0.1:6379> publish foo DOTA
(integer) 1
127.0.0.1:6379> publish foo 11GAME
(integer) 1
127.0.0.1:6379> publish foo SOLO
(integer) 1

Step3⊙ subscriber1在19:05开始接收publisher发布的消息:

代码语言:javascript
复制
/*subscriber1在19:05开始接收到消息*/
1) "message"
2) "foo"
3) "haha"
1) "message"
2) "foo"
3) "hehe"
1) "message"
2) "foo"
3) "yeah"
1) "message"
2) "foo"
3) "nice"
1) "message"
2) "foo"
3) "gg"
1) "message"
2) "foo"
3) "DK"
1) "message"
2) "foo"
3) "SA"
1) "message"
2) "foo"
3) "DOTA"
1) "message"
2) "foo"
3) "11GAME"
1) "message"
2) "foo"
3) "SOLO"

Step4⊙ 19:10又有一个客户端subscriber2订阅了foo的消息

代码语言:javascript
复制
127.0.0.1:6379> subscribe foo
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "foo"
3) (integer) 1

Step5⊙ 19:30发布者publisher发布消息,发现已经有2个订阅者了:

代码语言:javascript
复制
127.0.0.1:6379> publish foo SK
(integer) 2  //2个订阅者

Step6⊙ 19:30订阅者客户端subscriber1接收到消息:

代码语言:javascript
复制
1) "message"
2) "foo"
3) "SK"

Step7⊙ 19:30订阅者客户端subscriber2接收到消息:

代码语言:javascript
复制
1) "message"
2) "foo"
3) "SK"
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • redis publish/subscribe(发布/订阅)模式
    • Step1⊙ 订阅者客户端subscriber1:第一个客户端订阅了来自两个通道(key)——foo、bar的消息,会等待发布者发布消息。
      • Step2⊙ 消息发布者客户端publisher,19:05开始发布消息:
        • Step3⊙ subscriber1在19:05开始接收publisher发布的消息:
          • Step4⊙ 19:10又有一个客户端subscriber2订阅了foo的消息
            • Step5⊙ 19:30发布者publisher发布消息,发现已经有2个订阅者了:
              • Step6⊙ 19:30订阅者客户端subscriber1接收到消息:
                • Step7⊙ 19:30订阅者客户端subscriber2接收到消息:
                相关产品与服务
                云数据库 Redis
                腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档