场景

什么是发布与订阅

发布订阅是一种应用程序(系统)之间通讯,传递数据的技术手段,特别是在异构(不同语言)系统之间的作用非常明显。

发布订阅:

类似于微信中关注公众号/订阅号,公众号/订阅号发布的文章,订阅者能及时获取到最新的内容。

发布订阅是一对多的关系。

订阅:

对某个内容感兴趣,需要实时获取新的内容。只要关注的内容有变化就能立即得到通知。

发布:

提供某个内容,把内容信息发送给多个对此内容感兴趣的订阅者。是有主动权的一方。

发布订阅应用在即时通信中较多,比如网络聊天室、外卖抢单、抢红包等。

注:

博客:
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 ...]]
指退订给定的频道。

posted on 2020-03-23 09:57  霸道流氓  阅读(702)  评论(0编辑  收藏  举报