public int ClearDatabaseCache(string cachePrefix) { var cacheKeyPrefix = CacheHelper.CreateCacheKey(cachePrefix ?? ""); var enumerableCache = _cacheRepository.GetEnumerator(); var count = 0; while (enumerableCache.MoveNext()) { if (enumerableCache.Key != null) { var key = enumerableCache.Key.ToString(); if (key.StartsWith(cacheKeyPrefix)) { count++; _cacheRepository.Remove(enumerableCache.Key.ToString()); } } } return(count); }
public IEnumerator <KeyValuePair <TKey, CacheValueWrapper <TValue> > > GetEnumerator() { //currently this can only be implemented by scanning layer 2 cache - layer 1 is missing data, so enumerating it is not reliable return(_layer2Repository.GetEnumerator()); }