Domanda

Ho un'applicazione MVC ASP.NET in cui ho appena iniziato a utilizzare il client Redis di ServiceStack.Uso Ninjey come il mio contenitore di IOC.Attualmente i miei attacchi sembrano questo:

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());
.

Creando in modo efficace una istanza Singleton di BasicReDisClientMermiclSclInnerManger presso l'APP Start-up da utilizzare per istanziare in qualsiasi richiesta per un Icacheclient o IredisClient.È quello che ho fatto qui corretto per i casi di utilizzo tipici?Grazie in anticipo!

È stato utile?

Soluzione

Sì, sia il BasicreDisClientManager e il PoolDedisClientManager sono entrambi threadsafe e progettati per essere utilizzati come singleton.La differenza tra il 2 è che BasicreDisClientManager restituisce crea una nuova connessione ogni volta mentre il poatoreredisClientManager mantiene un pool di connessioni di Redis aperte.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top