/// <summary> /// Initializes a new instance of L1L2RedisCache. /// </summary> public L1L2RedisCache( IMemoryCache l1Cache, IOptions <L1L2RedisCacheOptions> l1l2RedisCacheOptionsAccessor, Func <IDistributedCache> l2CacheAccessor, IMessagePublisher messagePublisher, IMessageSubscriber messageSubscriber) { L1Cache = l1Cache; L1L2RedisCacheOptions = l1l2RedisCacheOptionsAccessor.Value; L2Cache = l2CacheAccessor(); MessagePublisher = messagePublisher; MessageSubscriber = messageSubscriber; Database = new Lazy <IDatabase>(() => L1L2RedisCacheOptions .ConnectionMultiplexerFactory() .GetAwaiter() .GetResult() .GetDatabase( L1L2RedisCacheOptions .ConfigurationOptions? .DefaultDatabase ?? -1)); MessageSubscriber.Subscribe(); }
public DefaultMessagePublisher( IOptions <JsonSerializerOptions> jsonSerializerOptions, IOptions <L1L2RedisCacheOptions> l1L2RedisCacheOptionsOptionsAccessor) { JsonSerializerOptions = jsonSerializerOptions.Value; L1L2RedisCacheOptions = l1L2RedisCacheOptionsOptionsAccessor.Value; Subscriber = new Lazy <ISubscriber>(() => L1L2RedisCacheOptions .ConnectionMultiplexerFactory() .GetAwaiter() .GetResult() .GetSubscriber()); }
public KeyeventMessageSubscriber( IConfigurationVerifier configurationVerifier, IMemoryCache l1Cache, IOptions <L1L2RedisCacheOptions> l1L2RedisCacheOptionsOptionsAccessor, ILogger <KeyeventMessageSubscriber>?logger = null) { ConfigurationVerifier = configurationVerifier; L1Cache = l1Cache; L1L2RedisCacheOptions = l1L2RedisCacheOptionsOptionsAccessor.Value; Logger = logger; Subscriber = new Lazy <ISubscriber>(() => L1L2RedisCacheOptions .ConnectionMultiplexerFactory() .GetAwaiter() .GetResult() .GetSubscriber()); }