sql >> Database teknologi >  >> NoSQL >> Redis

StackExchange.Redis med Azure Redis er ubrugelig langsom eller kaster timeoutfejl

Her er det anbefalede mønster fra 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;
    }
}

Et par vigtige punkter:

  • Den bruger Lazy til at håndtere trådsikker initialisering
  • Den indstiller "abortConnect=false", hvilket betyder, at hvis det indledende forbindelsesforsøg mislykkes, vil ConnectionMultiplexer stille forsøge igen i baggrunden i stedet for at kaste en undtagelse.
  • Det gør den ikke tjek IsConnected-egenskaben, da ConnectionMultiplexer automatisk vil prøve igen i baggrunden, hvis forbindelsen afbrydes.


  1. Sådan kalder du db.Collection.stats() fra Mongo java-driver

  2. Vedligeholdelse af en åben Redis-forbindelse ved hjælp af BookSleeve

  3. Resque, Resque Server, på RedisToGo med Heroku

  4. Spring data rest-applikation henter ikke data fra databasen efter implementering af redis caching