Die Anwendung muss sich nach dem Neustart von Redis selbst wiederherstellen können, das Netzwerk wird unterbrochen und kehrt zum Normalzustand zurück. Im Folgenden wird der Jedis-Client in Java-Sprache als Beispiel verwendet:
1 Als Herausgeber
kann das Jedis-Objekt nicht als Singleton verwendet werden und das Jedis-Objekt kann sich nach einer Netzwerkunterbrechung nicht selbst wiederherstellen. Jedes Mal, wenn Sie eine Nachricht veröffentlichen, sollten Sie das Jedis-Objekt aus dem JedisPool abrufen und dann die Set-Methode aufrufen.
2. Als Abonnent
Wenn das Netzwerk unterbrochen wird, blockiert die psubscribe()-Methode nicht mehr und löst keine Ausnahme aus, sodass Sie eine While-Schleife verwenden können, um die Ausnahme innerhalb des Netzwerks zu behandeln Schleife. Der Code lautet wie folgt:
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){ } }
Weitere Redis-Kenntnisse finden Sie in der Spalte Redis-Einführungs-Tutorial.
Das obige ist der detaillierte Inhalt vonredis getrennt und wieder verbunden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!