sql >> Databáze >  >> NoSQL >> Redis

StackExchange.Redis s Azure Redis je nepoužitelně pomalý nebo vyvolává chyby vypršení časového limitu

Zde je doporučený vzor z dokumentace Azure Redis Cache:

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ěkolik důležitých bodů:

  • Používá Lazy ke zpracování bezpečné inicializace vláken
  • Nastaví "abortConnect=false", což znamená, že pokud se první pokus o připojení nezdaří, ConnectionMultiplexer se na pozadí tiše pokusí znovu, než aby vyvolal výjimku.
  • To není zkontrolujte vlastnost IsConnected, protože ConnectionMultiplexer se v případě přerušení připojení automaticky zopakuje na pozadí.


  1. Vrací hodnotu z asynchronní funkce node.js

  2. Mongo pole A větší než pole B

  3. Výkon MongoDB:Spouštění agregací MongoDB na sekundárních serverech

  4. Název pole ID entity ServiceStack