public void Remove(IEnumerable <T> data) { CacheLock.Write(Lock, () => { primaryCache.Remove(data); secondaryCaches.Remove(data); }); }
private void UpdateCache(IEnumerable <T> data) { CacheLock.Write(Lock, () => { primaryCache.Update(data); secondaryCaches.Update(data); }); }
private void AddKeysToNoDataCache <TU>(IEnumerable <TU> keys, ReaderWriterLockSlim @lock) { var filteredKeys = keys.ToList(); filteredKeys.RemoveAll(k => noDataCache.Contains(k)); CacheLock.Write(@lock, () => noDataCache.Update(filteredKeys)); }
private void InitializeCache(IEnumerable <T> data) { CacheLock.Write(Lock, () => { primaryCache.Initialize(data); secondaryCaches.Initialize(data); cacheStorageStrategy.Save("Primary", primaryCache); cacheStorageStrategy.Save("Secondary", secondaryCaches); }); }