十五、redis的发布和订阅_消息队列 image.png

如图发布和订阅之间的关系:订阅者首先需要订阅发布者的消息,这样就建立了一个关系,如果发布者发布了消息,那么就会发送给他所有的订阅者。

redis就可以做这样的事情,他的发布订阅和MQ也就是消息队列的机制是一样的。

十五、redis的发布和订阅_消息队列_02 image.png

可以看到图中,最右边的redis中使用subscribe topic1 topic2 ,订阅了几个主题,会车之后,命令行就一直在闪烁,意思就是他正在监听,这个时候我们在另一个命令框通过命令public topic1 info 发布了消息,那么最右边就会立刻收到topic1主题的消息了

我们也可以使用批量订阅的功能 psubscribe ma* 这样的话,另一段发布ma开头的所有的topic的信息,这边都是可以接收的到

最后,虽然redis他具有消息队列的功能,可以做发布订阅的事情,但是他毕竟不是专业的,他最要的还是缓存的功能,而消息队列的功能我们就交给消息队列的软件来做就行了。