/ / Ako nastaviť Redis vo vlastnom priestore názvov ako vyrovnávaciu pamäť a MQ na webovej aplikácii ServiceStack pomocou štruktúry - redis, servicestack, structuremap

Ako nastaviť Redis vo vlastnom priestore názvov ako vyrovnávaciu pamäť a MQ na webovej aplikácii ServiceStack pomocou štruktúry - redis, servicestack, structuremap

Chcem nastaviť svoju aplikáciu, aby som používal Redis ako vyrovnávaciu pamäť pre relácie atď., Ako aj spustiť moje fronty správ.

Moja žiadosť je webová stránka ASV.net MVC spolu s poskytovateľom služieb Json založeným na službe ServiceStack. Aký je optimálny spôsob konfigurácie?

Chcem, aby som mohol poslať IMessageQueueClient do mojich tried a riadiacich pracovníkov, aby som mohol pridať úlohy do frontu.

Som sa trochu stratil, čo rozsah, aby čo, že môj kód je nasledovný:

//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);

Potom som zavolal MyApplication.MqService.RegisterHandler (etc etc);

  1. To funguje, ale ja nie som presvedčený, že "mám správne nastavenie.
  2. Predpona menného priestoru nefunguje a túto funkciu potrebujem.

Ďakujeme za vašu pomoc!

odpovede:

2 pre odpoveď č. 1

Na NamespacePrefix je určený len pre interné dátové štruktúry vedenom RedisClients a nemá "t ovplyvniť zadaný používateľom kľúče.