sql >> Database >  >> NoSQL >> Redis

Hoe gaat ConnectionMultiplexer om met verbroken verbindingen?

Hier is het patroon dat wordt aanbevolen door het Azure Redis Cache-team:

private static Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(() => {
    return ConnectionMultiplexer.Connect("mycache.redis.cache.windows.net,abortConnect=false,ssl=true,password=...");
});

public static ConnectionMultiplexer Connection {
    get {
        return lazyConnection.Value;
    }
}

Een paar belangrijke punten:

  • Het gebruikt Lazy om thread-veilige initialisatie af te handelen
  • Het stelt "abortConnect=false" in, wat betekent dat als de eerste verbindingspoging mislukt, de ConnectionMultiplexer het stilletjes opnieuw op de achtergrond probeert in plaats van een uitzondering te maken.
  • Het doet niet controleer de eigenschap IsConnected, aangezien ConnectionMultiplexer het automatisch opnieuw op de achtergrond probeert als de verbinding wordt verbroken.


  1. Bulkopname in Redis

  2. MongoDB - afsluiten met code:62

  3. MongoDB-prestaties - meerdere databases hebben

  4. Verwijder een object uit een geneste array met $pull en $[identifier] (mongoDB 3.6)