本篇文章給大家分享的是有關(guān)redis中隊(duì)列消息實(shí)現(xiàn)應(yīng)用解耦,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
成都創(chuàng)新互聯(lián)公司專注骨干網(wǎng)絡(luò)服務(wù)器租用10年,服務(wù)更有保障!服務(wù)器租用,南充服務(wù)器托管 成都服務(wù)器租用,成都服務(wù)器托管,骨干網(wǎng)絡(luò)帶寬,享受低延遲,高速訪問(wèn)。靈活、實(shí)現(xiàn)低成本的共享或公網(wǎng)數(shù)據(jù)中心高速帶寬的專屬高性能服務(wù)器。
1、如果redis服務(wù)器掛掉了怎么辦啊?
在采購(gòu)模塊的簽收邏輯代碼中做判斷,如果入列成功則返回簽收完成,如果入列失敗這運(yùn)行傳統(tǒng)方法,通過(guò)接口入庫(kù)的方法。如果redis也掛了,倉(cāng)庫(kù)模塊也掛了怎么辦啊,那你就收拾包袱回家吧。
2、如何實(shí)現(xiàn)傳統(tǒng)方式那樣實(shí)時(shí)入庫(kù)?。?/strong>
采用redis的訂閱發(fā)布模式就可以解決。訂閱的代碼放在倉(cāng)庫(kù)模塊,發(fā)布的代碼放在采購(gòu)模塊。
訂閱代碼sub.php
connect('localhost', 6379); $redis->subscribe(['ruku'], function ($redis, $chan, $msg) {//訂閱入庫(kù)頻道 if($msg==2500){ //如果監(jiān)聽(tīng)到有發(fā)布信息則從隊(duì)列中拿取信息進(jìn)行入庫(kù)操作 。。。。。。。 } });
發(fā)布代碼pub.php
connect('localhost', 6379); $order = ['id' => 1, 'name' => '小米6', 'price' => 2499, 'created_at' => '2017-07-14'];$redis->lpush('order',$order); $redis->publish("ruku", 2500);
以上就是redis中隊(duì)列消息實(shí)現(xiàn)應(yīng)用解耦,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。