【Redis发布订阅】
2024-08-31 14:41:04
Redis通过PUBLISH
、SUBSCRIBE
等命令实现发布与订阅模式。
举例:QQ群的公告,单个发布者,多个收听着。
***
发布/订阅
PUBLISH 频道 消息
将消息发布到指定的频道。
.
SUBSCRIBE 频道1 [频道2] [...]
可同时订阅多个频道。
.
UNSUBSCRIBE 频道1 [频道2]
取消订阅指定的频道,如果不指定频道则会取消订阅所有频道。
.
PSUBSCRIBE [匹配模式1] [匹配模式2]
订阅一个或多个符合给定模式的频道,每个模式以"*
"作为匹配符,例如"re*
"见匹配所有以"re
"开头的频道。
news.*
匹配所有以news.
开头的频道(news.it 、 news.global.today 等等),诸如此类。
.
PUNSUBSCRIBE [匹配模式1] [匹配模式2]
退订指定的规则的频道,如果未指定参数,则退订所有规则的频道。
.
PUBSUB subcommand [argument [argument ...]]
查看订阅与发布系统状态。
.
注意:
使用发布订阅模式实现的消息队列,当有客户端订阅频道后,只能接收到后续发布到该频道的消息。
之前发送的不会缓存,必须Provider和Consumer同时在线。
下面将以SUBSCRIBE
与PUBLISH
举例:
.
启动两个窗口,进入redis-cli客户端,并订阅频道,如下图:
在启动一个新窗口进入redis-cli客户端,开始请频道channel
发布消息:
此时,切回订阅者窗口,即可看到其发布的"PONG"消息。
需要注意的是,如果发送中文,则显示的二进制。
***
最新文章
- 理解HTML语义化
- 3.4.4 数据预留和对齐(skb_reserve, skb_push, skb_put, skb_pull)
- Eclipse自动生成作者、日期注释等功能设置
- A.Kaw矩阵代数初步学习笔记 1. Introduction
- Microsoft Dynamics CRM 2013 安装程序及SDK 下载地址
- var wi = 0; wi <; arr.length; wi++
- 一些推荐的spark/hadoop课程
- 【JavaScript】Object.observe()带来的数据绑定变革
- BZOJ 1982 Moving Pebbles
- OpenCV源码阅读(3)---base.hpp
- jQuery实现商品楼层的感觉
- POST多个参数到Web API控制器
- duilib绘制边框
- PHP面向对象概述
- MyBatis《2》
- Mybatis使用总结-思维导图
- 怎么避免在类实现的cpp文件中不要多次进行类声明
- 零代码第一步,做个添加数据的服务先。node.js + mysql
- 在VUE应用中配置ESLint(代码检查)
- react-demo