当前位置:网站首页>Redis-消息发布订阅
Redis-消息发布订阅
2022-08-02 00:04:00 【晚霞虽美不如你】
前言
Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接受消息。
Redis客户端可以订阅任意数量的频道!

一、实现方式:
①命令:
这些命令被广泛用于构建即时通信应用,比如网络聊天室(chatroom)和实时广播、实时提醒等

②发布订阅的实现:
1、订阅端:
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> SUBSCRIBE dingdada #订阅名字为 dingdada 的频道
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "dingdada"
3) (integer) 1
#等待推送的信息
1) "message" #消息
2) "dingdada" #来自哪个频道的消息
3) "hello world\xef\xbc\x81" # 消息的具体内容
1) "message"
2) "dingdada"
3) "my name is dyj\x81"
2、发送端:
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> PUBLISH dingdada "hello world!" #发送消息到dingdada 频道
(integer) 1
127.0.0.1:6379> PUBLISH dingdada "my name is dyj" #发送消息到dingdada 频道
(integer) 1
如图所示:
订阅端:
发送端:
③PSUBSCRIBE 命令:订阅指定频道!
③PSUBSCRIBE 命令:订阅指定频道!
④PUBLISH 命令:发送消息至指定频道!
PUBLISH + 频道 +消息 #将信息 message 发送到指定的频道 channel
⑤PUNSUBSCRIBE命令:退订!
#指示客户端退订指定模式,若果没有提供模式则退出所有模式。

⑥SUBSCRIBE:订阅,同上一致。不细讲!

⑦UNSUBSCRIBE:退订,同上一致,不细讲!

⑧总结:
Pub/Sub 从字面上理解就是发布(Publish)与订阅(Subscribe),在Redis中,你可以设定对某一个key值进行消息发布及消息订阅,当一个key值上进行了消息发布后,所有订阅它的客户端都会收到相应的消息。这一功能最明显的用法就是用作实时消息系统,比如普通的即时聊天,群聊等功能。
边栏推荐
- TCL:在Quartus中使用tcl脚本语言进行管脚约束
- CRS management and maintenance
- 【三子棋】C语言实现简易三子棋
- After an incomplete recovery, the control file has been created or restored, the database must be opened with RESETLOGS, interpreting RESETLOGS.
- async/await 原理及执行顺序分析
- TCP 可靠吗?为什么?
- contentEditable属性
- 如何优雅的消除系统重复代码
- 08-SDRAM: Summary
- JSP request对象功能详解说明
猜你喜欢

TCP 可靠吗?为什么?

Play NFT summer: this collection of tools is worth collecting

OpenCV DNN blogFromImage()详解

解析正则表达式的底层实现原理

How to find new potential projects?Tools recommended

控制电机的几种控制电路原理图

Study Notes: The Return of Machine Learning

【解决】win10下emqx启动报错Unable to load emulator DLL、node.db_role = EMQX_NODE__DB_ROLE = core

GIF making - very simple one-click animation tool

bgp 聚合 反射器 联邦实验
随机推荐
07-SDRAM :FIFO控制模块
2022/08/01 学习笔记 (day21) 泛型和枚举
【Leetcode】479. Largest Palindrome Product
GetHashCode与Equals
PHP从txt文件中读取数据的方法
QML package management
【ACWing】230. 排列计数
Unity—四元数、欧拉角API+坐标系统
接地气讲解TCP协议和网络程序设计
Zadig 面向开发者的自测联调子环境技术方案详解
els 方块变形
146. LRU 缓存
含外部储能的电力系统暂态稳定分布式控制
Cash Ⅱ LeetCode_518_ change
图解LeetCode——1161. 最大层内元素和(难度:中等)
SphereEx Miao Liyao: Database Mesh R&D Practice under Cloud Native Architecture
async/await 原理及执行顺序分析
C language Qixi is coming!It's time to show the romance of programmers!
07-SDRAM: FIFO control module
OpenCV DNN blogFromImage()详解