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

`StackExchange.Redis.ConnectionMultiplexer` doit-il être `AddSingleton` ou `AddScope` dans l'injection de dépendance .NET Core ?

Quelle est la charge attendue de l'application ? Si vous avez beaucoup de simultanéité, je pense utiliser AddScoped signifierait beaucoup de charge inutile pour initier et fermer des connexions pour chaque demande.

De plus, ces observations à mon humble avis montrent que vous devez utiliser AddSingleton

(...) il est exceptionnellement rare que vous vouliez utiliser aConnectionMultiplexer brièvement, car l'idée est de réutiliser cet objet.

Une autre utilisation courante de redis est un outil de distribution de messages pub/sub ; c'est également simple, et en cas d'échec de connexion, leConnectionMultiplexer gérera tous les détails de la réinscription aux canaux demandés.

De plus, vous économiserez de la mémoire en n'ayant qu'une seule instance de ConnectionMultiplexer (IMHO).