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);
        }
Example #2
0
 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());
 }