Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }