前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Redis】Redis 发布订阅通信模式 ( 发布订阅模式 | 订阅频道 | 发布消息 | 接收消息 )

【Redis】Redis 发布订阅通信模式 ( 发布订阅模式 | 订阅频道 | 发布消息 | 接收消息 )

作者头像
韩曙亮
发布2023-03-30 19:10:11
1.6K0
发布2023-03-30 19:10:11
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

一、发布订阅模式


Redis 中 存在一种 发布订阅 消息通信模式 :

  • 消息发布者 : 负责发送消息 , 订阅者需要订阅该发布者频道 ;
  • 消息订阅者 : 负责接收消息 ;

订阅者 先 订阅 发布者频道 , 当 发布者 发布消息时 , 订阅者 会接收到该信息 ;

在 Redis 中 , 发布者 是 消息频道 , 订阅者 是 Redis 客户端 ;

  • 一个 Redis 客户端可以 订阅多个 消息频道 ;
  • 一个 消息频道 可以 被多个 Redis 客户端 订阅 ;

当 消息频道 发送消息后 , 订阅该频道的 客户端 , 就会收到该频道发送的消息 ;

二、订阅频道


订阅频道 : 在一个命令行中 , 执行

代码语言:javascript
复制
subscribe channel1

命令 , 可以 订阅 名称为 channel1 的 消息频道 ;

上述命令执行后 , 在命令行中会 阻塞等待 channel1 的消息到来 ;

代码示例 :

代码语言:javascript
复制
127.0.0.1:6379> subscribe channel1
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "channel1"
3) (integer) 1
在这里插入图片描述
在这里插入图片描述

三、发布消息


重新打开一个 CMD 命令行工具 , 执行

代码语言:javascript
复制
publish channel1 hello

命令 , 向 channel1 通道中 , 发送 hello 消息 ;

代码示例 :

代码语言:javascript
复制
127.0.0.1:6379> publish channel1 hello
(integer) 1
127.0.0.1:6379>
在这里插入图片描述
在这里插入图片描述

四、接收消息


命令行 1 中 , 执行 subscribe channel1 命令 , 订阅了 channel1 频道 ;

命令行 2 中 , 执行 publish channel1 hello 命令 , 向 channel1 频道发送了 hello 消息 ;

然后在 命令行 1 中 , 接收到了 hello 消息 ;

代码示例 :

代码语言:javascript
复制
127.0.0.1:6379> subscribe channel1
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "channel1"
3) (integer) 1
1) "message"
2) "channel1"
3) "hello"
在这里插入图片描述
在这里插入图片描述

接收的消息内容是 :

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、发布订阅模式
  • 二、订阅频道
  • 三、发布消息
  • 四、接收消息
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档