redis斷線重連代碼詳解

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斷線重連代碼詳解

應用在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)

小程序開發(fā)