序言
發(fā)布訂閱在設(shè)計(jì)模式中也可以說(shuō)是觀察者模式,針對(duì)這個(gè)模式是處理對(duì)象間一對(duì)多的依賴關(guān)系的,當(dāng)一個(gè)對(duì)象發(fā)生變化,其它依賴他的對(duì)象都要得到通知并更新。
然而它也有自己的缺點(diǎn),就是當(dāng)主題發(fā)生一系列的變化時(shí),觀察者都要做批量的更新,如果這樣的更新成本很高,那么解決方法就是根據(jù)種類需求通知,而不能盲目的通知所有的觀察者。
那針對(duì)這個(gè)缺點(diǎn),一般的情況下,你沒(méi)有需求誰(shuí)訂閱一個(gè)跟自己無(wú)關(guān)的消息推送呢?這也正好說(shuō)明推送的消息需要整理而不能一窩蜂的什么消息都往一個(gè)通道里面拋,要分而治之,合理的設(shè)計(jì)發(fā)布通道的用途,也合理的訂閱通道。
那么如此一來(lái),升級(jí)到系統(tǒng)項(xiàng)目級(jí)別,他別給我們又帶來(lái)啦,莫大的好處,便是:剝離系統(tǒng)耦合,減少單線功能的依賴關(guān)系,又正迎合啦高內(nèi)聚,松耦合的系統(tǒng)架構(gòu)設(shè)計(jì)。
扯拉這么多,只當(dāng)廢話啦,因?yàn)槲疫@一篇的序言里面也不知道寫(xiě)什么段子啦,就這樣吧。
Redis中的發(fā)布/訂閱功能
這一節(jié)參考官方文檔:https://redis.io/topics/pubsub
首先我準(zhǔn)備啦1個(gè)redis服務(wù),3個(gè)客戶端,如下圖所示:
然后打開(kāi)官方文檔,首先可以看到以下6個(gè)命令,對(duì),就只有這6個(gè)命令,只要你能掌握理解,發(fā)散思維靈活運(yùn)用。吐納,吐納,那么道于此,生一,生二、生三,生萬(wàn)物,根本不在話下??!C,C,C,WC, 小伙,以后拯救世界就看你啦。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26