ホームページ > データベース > Redis > redis が切断され、再接続されました

redis が切断され、再接続されました

リリース: 2020-04-24 09:13:33
転載
3311 人が閲覧しました

redis が切断され、再接続されました

Redis が再起動され、ネットワークが中断されて通常に戻った後、アプリケーションは自己回復できる必要があります。以下では、例として Java 言語の jedis クライアントを使用します:

1 、パブリッシャーとして

#Jedis オブジェクトをシングルトンとして使用することはできず、ネットワークが中断された後に Jedis オブジェクトは自己回復できません。メッセージをパブリッシュするたびに、JedisPool から Jedis オブジェクトを取得して、set メソッドを呼び出す必要があります。

2. サブスクライバとして

#ネットワークが中断された場合、psubscribe() メソッドはブロックして例外をスローしなくなるため、while ループを使用してメソッド内で例外を処理できます。

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){

            }

        }
ログイン後にコピー

redis の詳細については、redis 入門チュートリアル 列に注目してください。

以上がredis が切断され、再接続されましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート