>  기사  >  데이터 베이스  >  redis 연결이 끊어졌다가 다시 연결되었습니다.

redis 연결이 끊어졌다가 다시 연결되었습니다.

尚
앞으로
2020-04-24 09:13:333254검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제