문제

방금 ServiceStack의 Redis Client를 사용하기 시작한 ASP.NET MVC 응용 프로그램이 있습니다.ioc 컨테이너로 NINJECT를 사용합니다.현재 내 바인딩은 다음과 같습니다.

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

ICACHECLIENT 또는 IRESISCLIENT에 대한 모든 요청에서 인스턴스화하는 데 사용되도록 APP 시작에서 BACIPREDISCLIENTMANAGER의 Singleton 인스턴스를 효과적으로 생성합니다.전형적인 유스 케이스에 대해 내가 여기서 옳은 일입니까?미리 감사드립니다!

도움이 되었습니까?

해결책

basicRedisClientManager pooledredisclientManager 는 모두 threadsafe와 싱글 톤으로 사용되도록 설계되었습니다.2의 차이점은 POOLEDREDISCLIENTMANAGER가 OPEN REDIS 연결 풀을 유지 관리하는 동안 BASICREDISCLIENTMANAGER 리턴이 새 연결을 만듭니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top