我想设置我的应用程序以将Redis用作会话等的缓存以及运行我的消息队列。
我的应用程序是一个ASP.net MVC网站以及基于ServiceStack的Json服务提供商。最佳的配置方式是什么?
我希望能够将IMessageQueueClient传递到我的服务类和控制器中,以便可以将任务添加到队列中。
我在什么范围制造方面迷失了方向。我的代码如下:
//Redis Client Manager var pooledClientManager = new PooledRedisClientManager(ConfigurationManager.AppSettings.Get("RedisServer")); pooledClientManager.NamespacePrefix = "myApp-"; For<IRedisClientsManager>().Singleton().Use(x => pooledClientManager); //Cache For<ICacheClient>().Use(c => c.GetInstance<IRedisClientsManager>().GetCacheClient()); //MQ MyApplication.MqService = new RedisMqServer(pooledClientManager); For<IMessageQueueClient>().Singleton(). Use( x => MyApplication.MqService.CreateMessageQueueClient()); For<IMessageService>().Singleton().Use(x=>MyApplication.MqService);
然后,我稍后再调用MyApplication.MqService.RegisterHandler(etc等);
感谢您的帮助!
的NamespacePrefix是只对由所述保持RedisClients内部数据结构,并且不影响用户指定的密钥。
NamespacePrefix