public InMemoryCacheClient(InMemoryCacheClientOptions options = null) { ShouldCloneValues = true; var loggerFactory = options?.LoggerFactory ?? NullLoggerFactory.Instance; _logger = loggerFactory.CreateLogger <InMemoryCacheClient>(); _memory = new ConcurrentDictionary <string, CacheEntry>(); }
public RedisHybridCacheClient(RedisCacheClientOptions options, InMemoryCacheClientOptions localOptions = null) : base(new RedisCacheClient(o => o .ConnectionMultiplexer(options.ConnectionMultiplexer) .Serializer(options.Serializer) .LoggerFactory(options.LoggerFactory)), new RedisMessageBus(o => o .Subscriber(options.ConnectionMultiplexer.GetSubscriber()) .Topic("cache-messages") .Serializer(options.Serializer) .LoggerFactory(options.LoggerFactory)), localOptions, options.LoggerFactory) { }
public InMemoryCacheClient(InMemoryCacheClientOptions options = null) { if (options == null) { options = new InMemoryCacheClientOptions(); } _shouldClone = options.CloneValues; _maxItems = options.MaxItems; var loggerFactory = options.LoggerFactory ?? NullLoggerFactory.Instance; _logger = loggerFactory.CreateLogger <InMemoryCacheClient>(); _memory = new ConcurrentDictionary <string, CacheEntry>(); }
public RedisHybridCacheClient(RedisHybridCacheClientOptions options, InMemoryCacheClientOptions localOptions = null) : base(new RedisCacheClient(o => o .ConnectionMultiplexer(options.ConnectionMultiplexer) .Serializer(options.Serializer) .LoggerFactory(options.LoggerFactory) .ShouldThrowOnSerializationError(options.ShouldThrowOnSerializationError)), new RedisMessageBus(o => o .Subscriber(options.ConnectionMultiplexer.GetSubscriber()) .Topic(options.RedisChannelName) .Serializer(options.Serializer) .LoggerFactory(options.LoggerFactory)), localOptions, options.LoggerFactory) { }
public HybridCacheClient(ICacheClient distributedCacheClient, IMessageBus messageBus, InMemoryCacheClientOptions localCacheOptions = null, ILoggerFactory loggerFactory = null) { _logger = loggerFactory?.CreateLogger <HybridCacheClient>() ?? NullLogger <HybridCacheClient> .Instance; _distributedCache = distributedCacheClient; _messageBus = messageBus; _messageBus.SubscribeAsync <InvalidateCache>(OnRemoteCacheItemExpiredAsync).AnyContext().GetAwaiter().GetResult(); if (localCacheOptions == null) { localCacheOptions = new InMemoryCacheClientOptions { LoggerFactory = loggerFactory } } ; _localCache = new InMemoryCacheClient(localCacheOptions); _localCache.ItemExpired.AddHandler(OnLocalCacheItemExpiredAsync); }
public InMemoryCacheClient(InMemoryCacheClientOptions options = null) : base(options?.LoggerFactory) { ShouldCloneValues = true; _memory = new ConcurrentDictionary <string, CacheEntry>(); InitializeMaintenance(); }