Redis
 sql >> Base de données >  >> NoSQL >> Redis

StackExchange.Redis avec Azure Redis est trop lent ou génère des erreurs de délai d'attente

Voici le modèle recommandé, issu de la documentation 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;
    }
}

Quelques points importants :

  • Il utilise Lazy pour gérer l'initialisation thread-safe
  • Il définit "abortConnect=false", ce qui signifie que si la tentative de connexion initiale échoue, le ConnectionMultiplexer réessayera silencieusement en arrière-plan plutôt que de lever une exception.
  • Ce n'est pas vérifiez la propriété IsConnected, car ConnectionMultiplexer réessayera automatiquement en arrière-plan si la connexion est interrompue.