序言
發(fā)布訂閱在設(shè)計(jì)模式中也可以說是觀察者模式,針對這個(gè)模式是處理對象間一對多的依賴關(guān)系的,當(dāng)一個(gè)對象發(fā)生變化,其它依賴他的對象都要得到通知并更新。
然而它也有自己的缺點(diǎn),就是當(dāng)主題發(fā)生一系列的變化時(shí),觀察者都要做批量的更新,如果這樣的更新成本很高,那么解決方法就是根據(jù)種類需求通知,而不能盲目的通知所有的觀察者。
那針對這個(gè)缺點(diǎn),一般的情況下,你沒有需求誰訂閱一個(gè)跟自己無關(guān)的消息推送呢?這也正好說明推送的消息需要整理而不能一窩蜂的什么消息都往一個(gè)通道里面拋,要分而治之,合理的設(shè)計(jì)發(fā)布通道的用途,也合理的訂閱通道。
那么如此一來,升級到系統(tǒng)項(xiàng)目級別,他別給我們又帶來啦,莫大的好處,便是:剝離系統(tǒng)耦合,減少單線功能的依賴關(guān)系,又正迎合啦高內(nèi)聚,松耦合的系統(tǒng)架構(gòu)設(shè)計(jì)。
扯拉這么多,只當(dāng)廢話啦,因?yàn)槲疫@一篇的序言里面也不知道寫什么段子啦,就這樣吧。
Redis中的發(fā)布/訂閱功能
這一節(jié)參考官方文檔:https://redis.io/topics/pubsub
首先我準(zhǔn)備啦1個(gè)redis服務(wù),3個(gè)客戶端,如下圖所示:
然后打開官方文檔,首先可以看到以下6個(gè)命令,對,就只有這6個(gè)命令,只要你能掌握理解,發(fā)散思維靈活運(yùn)用。吐納,吐納,那么道于此,生一,生二、生三,生萬物,根本不在話下!!C,C,C,WC, 小伙,以后拯救世界就看你啦。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(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模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 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)來看看(二) 2017-07-26