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