예제 #1
0
        private List <T> GetCachedItems <TU>(IEnumerable <TU> keys)
        {
            var results = new List <T>();

            foreach (var key in keys)
            {
                if (primaryCache.Contains(key))
                {
                    results.Add(CacheLock.Read(Lock, () => primaryCache.GetByKey(key)));
                }
                else
                {
                    results.AddRange(CacheLock.Read(Lock, () => secondaryCaches.Get(key)));
                }
            }
            return(results);
        }
예제 #2
0
 public override bool Contains(string key, string regionName = null)
 {
     return(PrimaryCache.Contains(key, regionName) || SecondaryCache.Contains(key, regionName));
 }