/// <param name="defaultCacheLifespan">How long items should be cached by default</param>
 /// <param name="cache">The cache to use, default is a thread safe dictionary</param>
 public RedisCachingService(ICacheProviderSettings settings, ILoggingService loggingService, CacheInfo cacheInfo = null, bool useStaticProvider = true)
 {
     _settings         = settings;
     _cacheInfo        = cacheInfo ?? _settings.ServiceSettings.ProviderInfo;
     _loggingService   = loggingService;
     UseStaticProvider = useStaticProvider;
 }
Пример #2
0
 public RedisService(ICacheProviderSettings settings, ILoggingService loggingService
                     , Func <ICacheProviderSettings, ILoggingService, ICacheProvider> resetProvider)
 {
     _cacheSettings  = settings;
     _loggingService = loggingService;
     ResetProvider   = resetProvider;
 }
Пример #3
0
        internal static RedisCachingService GetCustomRedis(
            bool?useBasic = null,
            string configurationOptions                 = null,
            int?defaultScanPageSize                     = null,
            bool?compressValues                         = null,
            CacheInfo cacheInfo                         = null,
            Guid?cacheProviderSettingsId                = null,
            int?defaultExpireTimeSpanSeconds            = null,
            string redisServiceImplementationTypeString = null)
        {
            ICacheProviderSettings defaultSettings = GetCacheProviderSettings(compressValues);
            RedisServiceSettings   settings        = new RedisServiceSettings
            {
                ConfigurationOptions                 = configurationOptions ?? defaultSettings.ServiceSettings.ConfigurationOptions,
                DefaultScanPageSize                  = defaultScanPageSize ?? defaultSettings.ServiceSettings.DefaultScanPageSize,
                CompressValues                       = compressValues ?? defaultSettings.ServiceSettings.CompressValues,
                ProviderInfo                         = cacheInfo ?? defaultSettings.ServiceSettings.ProviderInfo,
                CacheProviderSettingsIdString        = (cacheProviderSettingsId ?? defaultSettings.ServiceSettings.CacheProviderSettingsId).ToString(),
                DefaultExpireTimeSpanSeconds         = defaultExpireTimeSpanSeconds ?? (int?)defaultSettings.ServiceSettings.DefaultExpireTimeSpan?.TotalSeconds ?? 3600,
                RedisServiceImplementationTypeString = redisServiceImplementationTypeString ?? defaultSettings.ServiceSettings.RedisServiceImplementationType.ToString()
            };

            RedisProviderSettings configuration = new RedisProviderSettings(SerializationService, settings, SerializationSettings);

            return(new RedisCachingService(configuration, GenerateLoggingService().Object));
        }
Пример #4
0
 public CacheProvider(ICacheProviderSettings settings)
 {
     if (settings.UseCache)
     {
         _multiplexer = ConnectionMultiplexer.Connect(settings.CacheSettings.Uri);
     }
     else
     {
         Console.WriteLine("Not using cache.");
     }
 }
 public RedisCacheProvider(ICacheProviderSettings settings, ILoggingService logger)
 {
     CacheSettings = settings;
     Logger        = logger;
 }