sql >> Databasteknik >  >> NoSQL >> Redis

Hur hanterar ConnectionMultiplexer frånkopplingar?

Här är mönstret som rekommenderas av Azure Redis Cache-teamet:

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;
    }
}

Några viktiga punkter:

  • Den använder Lazy för att hantera trådsäker initiering
  • Den ställer in "abortConnect=false", vilket innebär att om det första anslutningsförsöket misslyckas, kommer ConnectionMultiplexer tyst att försöka igen i bakgrunden istället för att skapa ett undantag.
  • Det gör den inte kontrollera egenskapen IsConnected, eftersom ConnectionMultiplexer automatiskt försöker igen i bakgrunden om anslutningen avbryts.


  1. Skillnaden mellan StackExchange.Redis och ServiceStack.Redis

  2. Hur listar jag alla Redis-databaser?

  3. Skapa nya Meteor-samlingar i farten

  4. Hur uppdaterar jag dokumentfält i mongo db med java-drivrutinen?