天天看點

Redis 釋出訂閱用法

一、釋出訂閱模型

釋出訂閱其作用是為了減少依賴關系,通常也叫觀察者模式。主要是把耦合點單獨抽離出來作為第三方,隔離易變化的發送方和接收方。

發送方:隻負責向第三方發送消息。(雜志社把讀者雜志交給郵局)

接收方:被動接收消息。(1:向郵局訂閱讀者雜志,2:去門口接郵過來的雜志)

第三方:存儲訂閱雜志的接收方,并在雜志過來時送給接收方。 (郵局)

二、redis中的釋出訂閱

redis實作完整的釋出訂閱範式,就是說任何一台redis伺服器,啟動後都可以當做釋出訂閱伺服器。

1、普通訂閱

a、訂閱bar頻道。格式:subscribe name1 name2。

成功訂閱回複,分别對應訂閱類型、訂閱頻道、訂閱數量。

Redis 釋出訂閱用法

b、釋出bar頻道。格式:publish channelname message。

Redis 釋出訂閱用法

c、訂閱bar頻道的回複,分别對應消息類型,頻道,消息。

Redis 釋出訂閱用法

2、模式訂閱

redis支援模式比對訂閱,*為模糊比對符。

訂閱所有頻道的消息:psubscribe *

訂閱以news.開頭的所有頻道:psubscribe news.*

3、取消訂閱

取消普通訂閱和取消模式訂閱的指令。

unsubscribe bar

punsubscribe ba*

取消在官方提供的連接配接工具中無法模拟的。

4、檢視訂閱資訊

指令:pubsub channels [pattern],檢視訂閱消息是redis在2.8中新增加的指令之一。