redis知识之发布订阅

前言

一、是什么?

redis发布与订阅是一种消息通信模式,发送者publisher发送消息,订阅者subscriber接受消息,一旦发布者将消息发布到了某个频道,那么订阅这个频道的订阅者就都可以收到消息了,这跟rabbitmq消息队列是一样的原理。

二、使用步骤

1.开启linux服务器,建立两个客户端

这里是使用本地虚拟机开启linux服务器的。
在这里插入图片描述
通过xshell连接服务器,开启了redis服务,并建立了两个客户端,至此环境已经搭建好了
在这里插入图片描述

2.订阅与发布

#一个客户端发布了通过myChannel发布了消息如下所示。
[root@localhost bin]# redis-cli -p 6379
127.0.0.1:6379> publish myChannel helloHaiHui~HardWorking
(integer) 0
127.0.0.1:6379> publish myChannel helloHaiHui
(integer) 0
127.0.0.1:6379> publish myChannel "helloHaiHui"
(integer) 1
127.0.0.1:6379> publish myChannel "you should hard working"
(integer) 1
127.0.0.1:6379> publish myChannel 123456
(integer) 1
127.0.0.1:6379> 
#另一个客户端开启之后,先订阅myChannel频道,然后就可以实时监听消息了
[root@localhost bin]# redis-cli -p 6379
127.0.0.1:6379> subscribe myChannel
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "myChannel"
3) (integer) 1
#观察规律会发现,三个一组
1) "message"
2) "myChannel"
3) "helloHaiHui"
#观察规律会发现,三个一组
1) "message"
2) "myChannel"
3) "you should hard working"
#观察规律会发现,三个一组
1) "message"
2) "myChannel"
3) "123456"

#其他命令
127.0.0.1:6379> unsubscribe myChannel  #退订频道
1) "unsubscribe"
2) "myChannel"
3) (integer) 0
127.0.0.1:6379> pubsub channels  #查看所有的订阅的频道
1) "myChannel"
127.0.0.1:6379> 

三、总结

序号 命令及描述
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 …]] 指退订给定的频道。

至此,发布订阅讲解完毕!

猜你喜欢

转载自blog.csdn.net/qq_41486775/article/details/113763607