redis java 发布订阅_【Redis学习系列】Redis发布订阅
Redis 发布订阅
Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。
Redis 客户端可以订阅任意数量的频道。
下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:
当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:
实例演示
使用客户端1订阅一个频道;
127.0.0.1:6379> subscribe c1
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "c1"
3) (integer) 1
# 客户端二发送消息后
1) "message"
2) "c1"
3) "helloworld!!!"
# 客户端二发送第二次消息后
1) "message"
2) "c1"
3) "hello!redis!!"
使用客户端2往频道中推送一条消息;
127.0.0.1:6379> publish c1 "helloworld!!!"
(integer) 1
使用场景
实时消息系统;
在线聊天;
关注、订阅功能。
命令介绍
psubscribe
Psubscribe 命令订阅一个或多个符合给定模式的频道。
每个模式以 * 作为匹配符,比如 it* 匹配所有以 it 开头的频道( it.news 、 it.blog 、 it.tweets 等等)。 news.* 匹配所有以 news. 开头的频道( news.it 、 news.global.today 等等),诸如此类。
pubsub
Pubsub 命令用于查看订阅与发布系统状态,它由数个不同格式的子命令组成。
127.0.0.1:6379> pubsub channels
1) "c1"
127.0.0.1:6379> pubsub numsub c1 #查看订阅者个数
1) "c1"
2) (integer) 1
publish
Publish 命令用于将信息发送到指定的频道。
127.0.0.1:6379> publish c1 "helloworld!!!"
(integer) 1
punsubscribe
Punsubscribe 命令用于退订所有给定模式的频道。
redis 127.0.0.1:6379> PUNSUBSCRIBE mychannel
1) "punsubscribe"
2) "a"
3) (integer) 1
subscribe
Subscribe 命令用于订阅给定的一个或多个频道的信息。
127.0.0.1:6379> subscribe c1
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "c1"
3) (integer) 1
unsubscribe
Unsubscribe 命令用于退订给定的一个或多个频道的信息。
redis 127.0.0.1:6379> UNSUBSCRIBE mychannel
1) "unsubscribe"
2) "a"
3) (integer) 0
本文由 huzd 创作,采用 知识共享署名4.0 国际许可协议进行许可本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名最后编辑时间
为:
2021/02/10 22:38
redis java 发布订阅_【Redis学习系列】Redis发布订阅相关推荐
- Java并发包源码学习系列:同步组件CountDownLatch源码解析
文章目录 CountDownLatch概述 使用案例与基本思路 类图与基本结构 void await() boolean await(long timeout, TimeUnit unit) void ...
- gin redis 链接不上_内存优化,Redis是如何实现的!
点击上方"小罗技术笔记",关注公众号 第一时间送达实用干货 各位朋友新年开工好,今年由于特殊情况好多小伙伴今天在家开启远程办公模式(一直很向往),不过在这真想吐槽一下现有的远程办公 ...
- redis 内存不足 排查_Redis 系统学习之 redis 内存模型
关注:架构师学习路线,每日更新互联网最新技术文章与你不断前行,实战资料,笔试面试 前言 Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并 ...
- redis多服务器共享_【数据库】Redis(二)持久化及事务
Redis的数据持久化 Redis是基于内存对数据操作的数据库,计算机重启后,内存中的数据就会丢失,所以redis提供了持久化的功能,可以将redis操作的内存中数据持久化到本地的硬盘中.在redis ...
- unet是残差网络吗_深度学习系列(三)卷积神经网络模型(ResNet、ResNeXt、DenseNet、DenceUnet)...
深度学习系列(三)卷积神经网络模型(ResNet.ResNeXt.DenseNet.Dence Unet) 内容目录 1.ResNet2.ResNeXt3.DenseNet4.Dence Unet 1 ...
- 7发布年份_众多洋酒大牌相继发布新品 | 全球烈酒新品一周速览
编 | Candy 编者按:因每款威士忌都具有较强的个性特征和独特的风格,所以只要一出新品,就会成为威士忌圈内的热议话题.为此,WBO烈酒商业观察推出"全球烈酒新品一周速览"的栏目 ...
- redis java 监听_从零手写实现redis(四)添加监听器
前言 java从零手写实现redis(一)如何实现固定大小的缓存? java从零手写实现redis(三)redis expire 过期原理 java从零手写实现redis(三)内存数据如何重启不丢失? ...
- redis指定配置文件启动_深入学习 Redis 集群搭建方案及实现原理
" 在前面的文章中已经介绍了 本文将详细介绍集群,主要内容包括: 集群的作用 集群的搭建方法及设计方案 集群的基本原理 客户端访问集群的方法 实践须知(集群伸缩.故障转移.参数优化等) 集群 ...
- redis客户端连接数量_实战解析无所不知的Redis拓展应用——Info,进阶学习,无所不能...
前言 学习是一个持续的过程.像咱们一直在更新的Redis学习内容,由基础结构,到原理应用,再到集群搭建,了解的够充分了,咱们接着又介绍Redis拓展应用,将知识面拓宽,毕竟技术都是相通的,只有灵活运用 ...
- redis java zset_Redis从入门到放弃系列(五) ZSet
Redis从入门到放弃系列(五) ZSet 本文例子基于:5.0.4 ZSet是Redis中一种比较复杂的数据结构,当存储大小在128之内且member得长度在64以下,其实现为zipList,超过为 ...
最新文章
- pandas对dataframe的数据行(rows)进行随机抽样:使用sample函数进行数据行(rows)随机抽样
- z变换公式表_各种钣金折弯极限尺寸计算公式汇总,干货!
- 如何写一篇酷炫的博文(博文列表中展现字幕)
- video 属性和事件用法大全
- mysql中有sa_SA工作-mysql设计规范
- 【STM32】FLASH擦写+FLASH相关操作+注意事项
- 不是华为!国内首款5G手机开卖:10分钟送达第一单
- SQL Server 建库,表,约束(一)
- python画素描画_画画了,画画了,几行Python就成一幅素描画
- 用电脑上的计算器计算反三角函数
- 软工文档——可行性研究报告
- LIN总线、CAN总线、FlexRay总线和MOST总线
- 万物互联天下 创造未来奇迹
- kernel启动流程第二阶段
- vue+flv.js实现视频播放
- C# 添加Word页眉、页脚和页码
- Visual C++ 2010如何解决程序运行闪退问题
- E. Xenon's Attack on the Gangs,Codeforces Round #614 (Div. 2),树形dp
- 洛谷【T279725】搬砖
- 重庆天象网络技术:三分构图法帮你做好版式设计