sql >> Databasteknik >  >> NoSQL >> Redis

StackExchange.Redis med Azure Redis är oanvändbart långsam eller ger timeoutfel

Här är det rekommenderade mönstret, från Azure Redis Cache-dokumentationen:

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. Mongoose, uppdatera värden i array av objekt

  2. Säkerhetskopiera en MongoDB-databas med mongodump

  3. MongoDB - objekt? Varför behöver jag _id sammanlagt

  4. Skillnad mellan att lagra heltal och strängar i Redis