Question

J'ai une application ASP.NET MVC dans laquelle je viens de commencer à utiliser le client ReDIS de ServiceStack.J'utilise Ninject comme conteneur IOC.Actuellement, mes reliures ressemblent à ceci:

Bind<IRedisClientsManager>()
    .ToMethod(c => new BasicRedisClientManager("localhost:6379"))
    .InSingletonScope();

Bind<ICacheClient>().ToMethod(c => c.Kernel.Get<IRedisClientsManager>().GetCacheClient());
Bind<IRedisClient>().ToMethod(c => c.Kernel.Get<IRedisClientsManager>().GetClient());

Je crée efficacement une instance Singleton de BasicreDisClientManager au démarrage de l'application pour être utilisée pour instancier dans n'importe quelle demande d'un iCacheclient ou d'irradiquier.Ce que j'ai fait ici correct pour des cas d'utilisation typiques?Merci d'avance!

Était-ce utile?

La solution

Oui à la fois le BasicreDisClientManager et la PoolDreDisClientClientClientClientClientClientClientClientClientClientClientClient-Threadsafe et conçu pour être utilisé comme singleton.La différence entre le 2 est que BasicreDisClientManager Retourne crée une nouvelle connexion à chaque fois que le FooDredisClientManager conserve un pool de connexions Open Redis.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top