예제 #1
0
 public void Remove(IEnumerable <T> data)
 {
     CacheLock.Write(Lock, () => {
         primaryCache.Remove(data);
         secondaryCaches.Remove(data);
     });
 }
예제 #2
0
 private void UpdateCache(IEnumerable <T> data)
 {
     CacheLock.Write(Lock, () => {
         primaryCache.Update(data);
         secondaryCaches.Update(data);
     });
 }
예제 #3
0
        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));
        }
예제 #4
0
 private void InitializeCache(IEnumerable <T> data)
 {
     CacheLock.Write(Lock, () => {
         primaryCache.Initialize(data);
         secondaryCaches.Initialize(data);
         cacheStorageStrategy.Save("Primary", primaryCache);
         cacheStorageStrategy.Save("Secondary", secondaryCaches);
     });
 }