Maison  >  Article  >  base de données  >  redis déconnecté et reconnecté

redis déconnecté et reconnecté

尚
avant
2020-04-24 09:13:333256parcourir

redis déconnecté et reconnecté

L'application doit être capable de s'auto-récupérer après le redémarrage de Redis, le réseau est interrompu et revient à la normale. Ce qui suit utilise le client jedis en langage Java comme exemple :

1 , en tant qu'éditeur

l'objet Jedis ne peut pas être utilisé comme singleton, et l'objet Jedis ne peut pas s'auto-récupérer après l'interruption du réseau. Chaque fois que vous publiez un message, vous devez récupérer l'objet Jedis du JedisPool, puis appeler la méthode set.

2. En tant qu'abonné

Lorsque le réseau est interrompu, la méthode psubscribe() ne bloquera plus et ne lancera plus d'exception, vous pouvez donc utiliser une boucle while pour gérer l'exception à l'intérieur du loop. Le code est le suivant :

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

            }

        }

Pour plus de connaissances sur Redis, veuillez faire attention à la colonne

Tutoriel d'introduction à Redis.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer