Ejemplo n.º 1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="T:EasyCaching.Bus.RabbitMQ.DefaultRabbitMQBus"/> class.
 /// </summary>
 /// <param name="connectionChannelPool">Connection channel pool.</param>
 /// <param name="rabbitMQOptions">Rabbit MQO ptions.</param>
 /// <param name="serializer">Serializer.</param>
 /// <param name="localCachingProvider">Local caching provider.</param>
 public DefaultRabbitMQBus(
     IConnectionChannelPool connectionChannelPool,
     RabbitMQBusOptions rabbitMQOptions,
     IEasyCachingSerializer serializer,
     IEasyCachingProvider localCachingProvider)
 {
     this._rabbitMQBusOptions    = rabbitMQOptions;
     this._connectionChannelPool = connectionChannelPool;
     this._serializer            = serializer;
     this._localCachingProvider  = localCachingProvider;
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="T:EasyCaching.Bus.Redis.DefaultRedisBus"/> class.
 /// </summary>
 /// <param name="name">Unique name of the bus.</param>
 /// <param name="subscriberProviders">Subscriber provider.</param>
 /// <param name="busOptions">bus Options.</param>
 /// <param name="serializers">Serializers.</param>
 public DefaultRedisBus(
     string name
     , IEnumerable <IRedisSubscriberProvider> subscriberProviders
     , RedisBusOptions busOptions
     , IEnumerable <IEasyCachingSerializer> serializers)
 {
     this._name               = name ?? throw new ArgumentNullException(nameof(name));;
     this.BusName             = name;
     this._subscriberProvider = subscriberProviders.Single(x => x.SubscriberName.Equals(name));
     this._serializer         = !string.IsNullOrWhiteSpace(busOptions.SerializerName)
         ? serializers.Single(x => x.Name.Equals(busOptions.SerializerName))
         : serializers.Single(x => x.Name.Equals(EasyCachingConstValue.DefaultSerializerName));
     this._subscriber = _subscriberProvider.GetSubscriber();
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="T:EasyCaching.Redis.DefaultRedisCachingProvider"/> class.
        /// </summary>
        /// <param name="name">Name.</param>
        /// <param name="dbProviders">Db providers.</param>
        /// <param name="serializers">Serializers.</param>
        /// <param name="options">Options.</param>
        /// <param name="loggerFactory">Logger factory.</param>
        public DefaultRedisCachingProvider(
            string name,
            IEnumerable <IRedisDatabaseProvider> dbProviders,
            IEnumerable <IEasyCachingSerializer> serializers,
            RedisOptions options,
            ILoggerFactory loggerFactory = null)
        {
            ArgumentCheck.NotNullAndCountGTZero(dbProviders, nameof(dbProviders));
            ArgumentCheck.NotNullAndCountGTZero(serializers, nameof(serializers));

            this._name       = name;
            this._dbProvider = dbProviders.Single(x => x.DBProviderName.Equals(name));
            this._options    = options;

            if (options.EnableLogging)
            {
                this.Logger = loggerFactory.CreateLogger <DefaultRedisCachingProvider>();
            }

            this._cache      = _dbProvider.GetDatabase();
            this._servers    = _dbProvider.GetServerList();
            this._cacheStats = new CacheStats();

            this._serializer = !string.IsNullOrWhiteSpace(options.SerializerName)
                ? serializers.Single(x => x.Name.Equals(options.SerializerName))
                : serializers.FirstOrDefault(x => x.Name.Equals(_name)) ?? serializers.Single(x => x.Name.Equals(EasyCachingConstValue.DefaultSerializerName));

            this.ProviderName        = this._name;
            this.ProviderType        = CachingProviderType.Redis;
            this.ProviderStats       = this._cacheStats;
            this.ProviderMaxRdSecond = _options.MaxRdSecond;

            _info = new ProviderInfo
            {
                CacheStats     = _cacheStats,
                EnableLogging  = options.EnableLogging,
                LockMs         = options.LockMs,
                MaxRdSecond    = options.MaxRdSecond,
                ProviderName   = ProviderName,
                ProviderType   = ProviderType,
                SerializerName = options.SerializerName,
                SleepMs        = options.SleepMs,
                Serializer     = _serializer,
                CacheNulls     = options.CacheNulls
            };
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Initializes a new instance
 /// </summary>
 /// <param name="compressor">Compressor</param>
 /// <param name="easyCachingSerializer">EasyCaching serializer</param>
 public EasyCachingSerializerDecorator(ICompressor compressor, IEasyCachingSerializer easyCachingSerializer)
 {
     _compressor            = compressor.NotNull(nameof(compressor));
     _easyCachingSerializer = easyCachingSerializer.NotNull(nameof(easyCachingSerializer));
 }