Ejemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="StackExchangeRedisCacheClient"/> class.
        /// </summary>
        /// <param name="serializer">The serializer.</param>
        /// <param name="configuration">The configuration.</param>
        public StackExchangeRedisCacheClient(ISerializer serializer, IRedisCachingConfiguration configuration = null)
        {
            if (serializer == null)
            {
                throw new ArgumentNullException("serializer");
            }

            if (configuration == null)
            {
                configuration = RedisCachingSectionHandler.GetConfig();
            }

            if (configuration == null)
            {
                throw new ConfigurationErrorsException("Unable to locate <redisCacheClient> section into your configuration file. Take a look https://github.com/imperugo/StackExchange.Redis.Extensions");
            }

            ConfigurationOptions options = new ConfigurationOptions
            {
                Ssl        = configuration.Ssl,
                AllowAdmin = configuration.AllowAdmin
            };

            foreach (RedisHost redisHost in configuration.RedisHosts)
            {
                options.EndPoints.Add(redisHost.Host, redisHost.CachePort);
            }

            this.connectionMultiplexer = ConnectionMultiplexer.Connect(options);
            db = connectionMultiplexer.GetDatabase(configuration.Database);
            this.serializer = serializer;
        }
Ejemplo n.º 2
0
        private ConnectionMultiplexer CreateConnectionMultiplexer(IRedisCachingConfiguration cachingConfiguration)
        {
            var options = new ConfigurationOptions
            {
                Ssl                = cachingConfiguration.Ssl,
                AllowAdmin         = cachingConfiguration.AllowAdmin,
                Password           = cachingConfiguration.Password,
                AbortOnConnectFail = cachingConfiguration.AbortOnConnectFail,
                Proxy              = Proxy,
                ConnectTimeout     = cachingConfiguration.ConnectTimeout,
                DefaultDatabase    = cachingConfiguration.Database
            };

            foreach (RedisHost redisHost in cachingConfiguration.RedisHosts)
            {
                options.EndPoints.Add(redisHost.Host, redisHost.CachePort);
            }


            var connectionMultiplexer = ConnectionMultiplexer.Connect(options);

            return(connectionMultiplexer);
        }
Ejemplo n.º 3
0
 private ConnectionMultiplexer GetConnectedMultiplexer(IRedisCachingConfiguration configuration)
 {
     return(CreateConnectionMultiplexer(configuration));
 }