protected BaseNearCache(string name, HazelcastClient client, NearCacheConfig nearCacheConfig) { _name = name; Client = client; _maxSize = nearCacheConfig.GetMaxSize(); _maxIdleMillis = nearCacheConfig.GetMaxIdleSeconds() * 1000; _inMemoryFormat = nearCacheConfig.GetInMemoryFormat(); _timeToLiveMillis = nearCacheConfig.GetTimeToLiveSeconds() * 1000; _evictionPolicy = (EvictionPolicy)Enum.Parse(typeof(EvictionPolicy), nearCacheConfig.GetEvictionPolicy(), true); _records = new ConcurrentDictionary <IData, Lazy <NearCacheRecord> >(); _canCleanUp = new AtomicBoolean(true); _canEvict = new AtomicBoolean(true); _lastCleanup = Clock.CurrentTimeMillis(); _selectedComparer = GetComparer(_evictionPolicy); _stat = new NearCacheStatistics(); InvalidateOnChange = nearCacheConfig.IsInvalidateOnChange(); }
public ClientNearCache(string mapName, ClientNearCacheType cacheType, ClientContext context, NearCacheConfig nearCacheConfig) { this.mapName = mapName; this.cacheType = cacheType; this.context = context; maxSize = nearCacheConfig.GetMaxSize(); maxIdleMillis = nearCacheConfig.GetMaxIdleSeconds() * 1000; inMemoryFormat = nearCacheConfig.GetInMemoryFormat(); timeToLiveMillis = nearCacheConfig.GetTimeToLiveSeconds() * 1000; invalidateOnChange = nearCacheConfig.IsInvalidateOnChange(); evictionPolicy = (EvictionPolicy)Enum.Parse(typeof(EvictionPolicy), nearCacheConfig.GetEvictionPolicy()); cache = new ConcurrentDictionary <IData, CacheRecord>(); canCleanUp = new AtomicBoolean(true); canEvict = new AtomicBoolean(true); lastCleanup = Clock.CurrentTimeMillis(); if (invalidateOnChange) { AddInvalidateListener(); } }