W ASP.NET Core 2 możemy dodać Azure Redis Cache tak:ASP.NET Core 2 - Wiele usług Cache Azure Redis DI
services.AddDistributedRedisCache(config =>
{
config.Configuration = Configuration.GetConnectionString("RedisCacheConnection");
config.InstanceName = "MYINSTANCE";
});
Następnie użycie będzie tak:
private readonly IDistributedCache _cache;
public MyController(IDistributedCache cache)
{
_cache = cache;
}
Jak mogę to zrobić tak, że będę mieć:
private readonly IDistributedCache _cache1;
private readonly IDistributedCache _cache2;
public MyController(IDistributedCache cache1, IDistributedCache cache2)
{
_cache1 = cache1;
_cache2 = cache2;
}
Moje pytania w jaki sposób mogę dodać kolejny serwis, który wskazuje na inny Azure Redis Cache Połączenie i instancja i rozdzielenie ich, gdy chcę z nich korzystać?
Takie zaawansowane scenariusze są naprawdę nie do opanowania z domyślnego 'podejście IDistributedCache'. Powinieneś użyć biblioteki takiej jak [CacheManager] (http://cachemanager.michaco.net/), która pozwala ci definiować różne pamięci podręczne na podstawie argumentów typu. –
Potencjalną opcją jest użycie [Wzorca strategii] (https://stackoverflow.com/a/46597099) w celu wybrania pamięci podręcznej do użycia w środowisku wykonawczym. – NightOwl888