Redis
 sql >> Baza danych >  >> NoSQL >> Redis

StackExchange.Redis z Azure Redis jest zbyt wolny lub generuje błędy przekroczenia limitu czasu

Oto zalecany wzorzec z dokumentacji 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;
    }
}

Kilka ważnych punktów:

  • Używa Lazy do obsługi bezpiecznej wątkowo inicjalizacji
  • Ustawia "abortConnect=false", co oznacza, że ​​jeśli początkowa próba połączenia się nie powiedzie, ConnectionMultiplexer po cichu ponawia próbę w tle, zamiast zgłaszać wyjątek.
  • To nie sprawdź właściwość IsConnected, ponieważ ConnectionMultiplexer automatycznie ponawia próbę w tle, jeśli połączenie zostanie zerwane.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak zaktualizować redis po aktualizacji bazy danych?

  2. Wdróż ScaleGrid DBaaS dla Redis™ w wirtualnej chmurze prywatnej AWS (VPC)

  3. Zasubskrybuj ponownie Flask-SocketIO

  4. Czy Redis zezwala tylko na reprezentację ciągu, ale nie wartość liczbową?

  5. Jaka jest korzyść z klastrowania Redis na różnych hostach?