예제 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RedisCache" /> class.
        /// </summary>
        /// <param name="connection">The connection.</param>
        /// <param name="cacheKeyLockAcquisition">The cache key lock acquisition.</param>
        /// <param name="container">The container.</param>
        /// <param name="serializer">The serializer.</param>
        public RedisCache(
            IRedisConnection connection,
            IRedisDLM cacheKeyLockAcquisition,
            IRedisCacheContainer container = null,
            IRedisSerializer serializer    = null)
        {
            Guard.AgainstNull(() => connection);
            Guard.AgainstNull(() => cacheKeyLockAcquisition);

            Disposed = false;

            _connection = connection;
            _cacheKeyLockAcquisition = cacheKeyLockAcquisition;
            _redisDb   = connection.GetDatabase();
            _container = container ?? new StringRedisCacheContainer(_connection);
            _serialier = serializer ?? new JsonRedisSerializer();
        }