redis斷線怎么重連?這個問題可能是我們?nèi)粘9ぷ鹘?jīng)常遇到的。本篇文章主要探討redis斷線重連的解決方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
創(chuàng)新互聯(lián)建站是專業(yè)的紫金網(wǎng)站建設(shè)公司,紫金接單;提供網(wǎng)站設(shè)計、成都網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行紫金網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
應用在Redis重啟、網(wǎng)絡(luò)閃斷并恢復正常后,應用必須能夠自恢復,下面以Java語言的jedis客戶端為例說明:
1、作為發(fā)布者
Jedis對象不能作為單例,網(wǎng)絡(luò)閃斷后該Jedis對象無法自恢復。應該每次發(fā)布消息時,從JedisPool中取Jedis對象,再調(diào)用set方法。
2、作為訂閱者
當網(wǎng)絡(luò)閃斷后psubscribe()方法不再阻塞并拋出異常,所以可以使用while循環(huán),在循環(huán)內(nèi)部處理異常,代碼如下:
while(true){ Jedis redis = this.jedisPool.getResource(); try{ redis.psubscribe(this, channelArray); }catch(JedisConnectionException e){ logger.warn("Exception :", e); logger.warn("Exit redis psubscribe, retry after 1 second"); }catch(Exception e){ logger.error("Exception:", e); } try{ Thread.sleep(1000); }catch(Exception unused){ } try{ if(redis != null){ redis.close(); } }catch(Exception unused){ } }
看完上訴內(nèi)容,你們掌握redis斷線重連的方法了嗎?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
分享標題:redis斷線重連代碼詳解
標題鏈接:http://muchs.cn/article46/gphdeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站、做網(wǎng)站、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計、網(wǎng)站制作、標簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)