一、发布订阅模式
发布订阅模式首先需要消息源,也就是要有消息发布出来,这个时候,订阅者就可以收到这个消息进行处理了,观察者模式就是这个模式的典型应用。比如使用银行卡消费的时候,银行往往会通过微信、短信或邮件通知用户这笔交易的信息:
模式的角色:
①要有发送消息的渠道
②要有订阅者订阅这个渠道的消息
二、Redis的发布订阅
使用 SUBSCRIBE 命令,比如监听一个叫作 chat 的渠道,这个时候我们需要先打开一个客户端,这里记为客户端 1,然后输入命令:
SUBSCRIBE chat
这个时候客户端 1 就订阅了一个叫作 chat 渠道的消息。之后打开另外一个客户端,记为客户端 2,输入命令:
publish chat "let's go!!"
这个时候客户端 2 就向渠道 chat 发送消息。我们观察客户端 1,就可以发现已经收到了消息,并有对应的信息打印出来。