前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【赵渝强老师】Redis的消息发布与订阅

【赵渝强老师】Redis的消息发布与订阅

原创
作者头像
赵渝强老师
发布2024-08-13 10:20:37
1150
发布2024-08-13 10:20:37
举报
文章被收录于专栏:NoSQL数据库

  一般来说消息队列有两种场景,一种是发布者订阅者模式,而另一种是生产者消费者模式。这两种场景的消息队列Redis都能够实现。

  发布者和订阅者通过channel频道进行解偶, 订阅者监听某个channel的消息,当发布者向该channel推送消息时,订阅该channel的消费者都可以收到消息。视频讲解如下:

视频内容

  下图展示了Redis发布者订阅者模式的架构。

  Redis提供的相关操作命令如下:

  • publish:发布消息
代码语言:powershell
复制
命令为格式:publish channel名称 "消息内容"
  • subscribe: 订阅消息
代码语言:powershell
复制
命令为格式:subscribe channel名称
  • psubscribe: 使用通配符定义消息
代码语言:powershell
复制
命令为格式:psubscribe channel*名称

  在发布者和订阅者模式下,Redis维护一个数据字典pubsub_channels用于保存channel以及订阅者的关系,结构如下图所示。

  由于Redis支持的消息类型是广播类型的消息,因此这里需要开启三个会话的窗口。一个作为消息的发布者,另外两个作为消息的订阅者。下面是具体的操作步骤。

(1)在消息订阅者的两个会话窗口中启动消息订阅者。

代码语言:powershell
复制
127.0.0.1:6379> subscribe channel1
Reading messages... (press Ctrl-C to quit)

(2)在消息发布者的会话窗口中发布消息。

代码语言:powershell
复制
127.0.0.1:6379> publish channel1  helloworld
(integer) 2

(3)此时在消息订阅者的两个会话窗口中将成功接收到发布的消息,如下图所示。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档