/// <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; }
/// <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 }; }
/// <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)); }