private ICacheDependencyManager GetCacheDependencyManager(CacheConfig config, ICache cache) { ICacheDependencyManager dependencyMgr = null; var normalisedDependencyManagerConfig = !string.IsNullOrWhiteSpace(config.DependencyManagerToUse) ? config.DependencyManagerToUse.ToLowerInvariant() : string.Empty; switch (normalisedDependencyManagerConfig) { case CacheDependencyManagerTypes.Default: dependencyMgr = GetRedisCacheDependencyManagerIfApplicable(config, cache); break; case CacheDependencyManagerTypes.Redis: dependencyMgr = GetRedisCacheDependencyManagerIfApplicable(config, cache); break; case CacheDependencyManagerTypes.Generic: dependencyMgr = new GenericDependencyManager(cache, _logger, config); break; case CacheDependencyManagerTypes.Unspecified: // try and determine what one to use based on the cache type dependencyMgr = GetRedisCacheDependencyManagerIfApplicable(config, cache); break; default: dependencyMgr = new GenericDependencyManager(cache, _logger, config); break; } return(dependencyMgr); }
public CacheFactoryComponentResult CreateCacheComponents() { var cacheEngine = CreateCacheEngine(); var dependencyMgr = new GenericDependencyManager(cacheEngine, _logger, _config); var featureSupport = new WebFeatureSupport(); var result = CacheFactoryComponentResult.Create(cacheEngine, dependencyMgr, featureSupport); return(result); }
public override CacheFactoryComponentResult CreateCacheComponents() { var cacheEngine = CreateCacheEngine(); var dependencyMgr = new GenericDependencyManager(cacheEngine, Logger, CacheConfiguration); var featureSupport = new memcachedFeatureSupport(); var result = CacheFactoryComponentResult.Create(cacheEngine, dependencyMgr, featureSupport); return(result); }
private ICacheDependencyManager GetRedisCacheDependencyManagerIfApplicable(CacheConfig config, ICache cache) { ICacheDependencyManager dependencyMgr = null; var redisCache = cache as RedisCacheAdapter; if (redisCache != null) { dependencyMgr = new RedisDependencyManager(cache, _logger, redisCache.RedisDatabase, config); } else { dependencyMgr = new GenericDependencyManager(cache, _logger, config); } return(dependencyMgr); }
public override CacheFactoryComponentResult CreateCacheComponents() { var cacheEngine = CreateCacheEngine(); ICacheDependencyManager dependencyMgr = null; if (CacheConfiguration.DependencyManagerToUse == CacheDependencyManagerTypes.Generic) { dependencyMgr = new GenericDependencyManager(cacheEngine, Logger, CacheConfiguration); } else { dependencyMgr = new RedisDependencyManager(cacheEngine, Logger, _redisConnection.GetDatabase(), CacheConfiguration); } var featureSupport = new RedisFeatureSupport(); var result = CacheFactoryComponentResult.Create(cacheEngine, dependencyMgr, featureSupport); return(result); }