Redis Pub/Sub模式 基本介紹

Redis發(fā)布訂閱—Pub/Sub模式或者說是觀察者模式。我想大家即使沒有使用過,也已經(jīng)耳熟能詳了。

先簡(jiǎn)單舉例說明下應(yīng)用場(chǎng)景,在場(chǎng)景中我們可以分析到其優(yōu)勢(shì)在哪。

比如你的線上應(yīng)用應(yīng)用,你想設(shè)置一個(gè)日志報(bào)警系統(tǒng),當(dāng)應(yīng)用出現(xiàn)異常的時(shí)候,立馬發(fā)送通知給你,可能是短信的形式,也可能是郵件的形式。當(dāng)然如果只將報(bào)警通知給你一個(gè)人,實(shí)現(xiàn)起來很簡(jiǎn)單,在報(bào)警系統(tǒng)中將你的手機(jī)號(hào)和短信寫死在程序中。但是如果你的項(xiàng)目龐大,每個(gè)模塊有各自的負(fù)責(zé)人,并且負(fù)責(zé)人也經(jīng)常會(huì)變更,那么咱們就不能總修改代碼了吧?

或者說你的個(gè)人博客可以讓讀者訂閱,讀者這么多,咱們根本控制不過來呀。

現(xiàn)在發(fā)布訂閱模式,就可以解決你的問題。在某一點(diǎn)發(fā)生改變的時(shí)候,其他客戶端立即得到通知。也可以說訂閱服務(wù)器得到應(yīng)用發(fā)布消息,由服務(wù)器立即通知給你手中的客戶端。這樣的好處就是一種松耦合的模式,你不再需要修改發(fā)布端和訂閱端的任何代碼,你只要提供好發(fā)布和訂閱的操作接口,今后調(diào)用就可以了。

首先看一下Redis在控制臺(tái)中的發(fā)布訂閱操作。

我開啟兩個(gè)redis命令客戶端對(duì)相同的一個(gè)redis服務(wù)進(jìn)行操作。

首先我們?cè)诘谝粋€(gè)客戶端我們對(duì)message01進(jìn)行訂閱,channel名稱是我們自定義的,訂閱哪個(gè)就是哪個(gè)。

萬碼學(xué)堂,電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),Java培訓(xùn),JavaEE開發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

網(wǎng)友評(píng)論