Comment ConnectionMultiplexer gère-t-il les déconnexions?
La Utilisation De Base documentation pour StackExchange.Redis explique que le ConnectionMultiplexer
est de longue durée et est prévu pour être réutilisé.
Mais qu'en est-il de la connexion au serveur est interrompue? Ne ConnectionMultiplexer
reconnecter automatiquement, ou est-il nécessaire d'écrire du code comme dans cette réponse (citant la réponse):
if (RedisConnection == null || !RedisConnection.IsConnected)
{
RedisConnection = ConnectionMultiplexer.Connect(...);
}
RedisCacheDb = RedisConnection.GetDatabase();
Est le code ci-dessus quelque chose de bien gérer la récupération de se déconnecte, ou serait-il en fait la suite de plusieurs ConnectionMultiplexer
instances? Dans le même sens, comment le IsConnected
bien être interprété?
[Aparté: je crois que le code ci-dessus est une assez mauvaise forme de l'initialisation tardive, en particulier dans les environnements multithreads - voir Jon Skeet de l'article sur les Singletons].
source d'informationauteur Gigi
Vous devez vous connecter pour publier un commentaire.
Ici est la modèle recommandé par le Redis Azure Cache équipe:
Quelques points importants:
Oui, vous avez besoin de ce type de vérification afin de fixer les connexions rompues. Fil de sécurité doivent également être pris en compte. C'est de cette façon j'ai l'habitude de le faire:
Puis-je utiliser le
RedisMultiplexer
bien partout, j'ai besoin d'appeler le Redis point de terminaison. Je n'ai pas l'habitude de stocker le résultat de laGetDatabase()
appel, car la documentation dit que c'est un très léger appel.