场景
什么是发布与订阅
发布订阅是一种应用程序(系统)之间通讯,传递数据的技术手段,特别是在异构(不同语言)系统之间的作用非常明显。
发布订阅:
类似于微信中关注公众号/订阅号,公众号/订阅号发布的文章,订阅者能及时获取到最新的内容。
发布订阅是一对多的关系。
订阅:
对某个内容感兴趣,需要实时获取新的内容。只要关注的内容有变化就能立即得到通知。
发布:
提供某个内容,把内容信息发送给多个对此内容感兴趣的订阅者。是有主动权的一方。
发布订阅应用在即时通信中较多,比如网络聊天室、外卖抢单、抢红包等。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
Centos中Redis的下载编译与安装(超详细):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334
Redis的启动和关闭(前台启动和后台启动):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103972348
RedisDesktopManager客户端可视化工具下载安装与使用:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103983147
通过上面几篇博客将Redis的环境搭建起来。
这里使用XShell进行连接后,复制三个会话
这里一共四个会话,其中一个作为发布者,三个作为订阅者
然后在第一个作为发布者的会话中以后台模式启动Redis服务端,并启动客户端,具体参照上面博客。
然后在另外三个作为订阅者的会话中分别启动客户端。
要实现发布订阅要遵循先订阅再发布。
所以在作为订阅者的三个会话中依次执行订阅频道的操作
SUBSCRIBE badaodechengxvyuan
前面是订阅命令后面跟的是频道号,类似于公众号。
然后在作为发布者的会话中进行发布。
publish badaodechengxvyuan "hello"
可以看到在发布后三个订阅者分别能收到消息
除此之外,Redis常用发布订阅命令如下
序号 命令及描述
1 PSUBSCRIBE pattern [pattern ...]
订阅一个或多个符合给定模式的频道。
2 PUBSUB subcommand [argument [argument ...]]
查看订阅与发布系统状态。
3 PUBLISH channel message
将信息发送到指定的频道。
4 PUNSUBSCRIBE [pattern [pattern ...]]
退订所有给定模式的频道。
5 SUBSCRIBE channel [channel ...]
订阅给定的一个或多个频道的信息。
6 UNSUBSCRIBE [channel [channel ...]]
指退订给定的频道。