Simplified the base cache provider, no generics, these will be taken care of by extensions

This commit is contained in:
Shannon
2013-08-08 20:25:26 +10:00
parent 8c55946b1b
commit 8fea9530b5
10 changed files with 120 additions and 107 deletions

View File

@@ -54,18 +54,6 @@ namespace Umbraco.Core.Cache
}
}
public virtual void ClearCacheObjectTypes<T>()
{
using (new WriteLock(ClearLock))
{
var keysToRemove = (from c in MemoryCache where c.Value.GetType() == typeof (T) select c.Key).ToList();
foreach (var k in keysToRemove)
{
MemoryCache.Remove(k);
}
}
}
public virtual void ClearCacheByKeySearch(string keyStartsWith)
{
using (new WriteLock(ClearLock))
@@ -90,27 +78,20 @@ namespace Umbraco.Core.Cache
}
}
public virtual IEnumerable<T> GetCacheItemsByKeySearch<T>(string keyStartsWith)
public virtual IEnumerable<object> GetCacheItemsByKeySearch(string keyStartsWith)
{
return (from c in MemoryCache
where c.Key.InvariantStartsWith(keyStartsWith)
select c.Value.TryConvertTo<T>()
into attempt
where attempt.Success
select attempt.Result).ToList();
select c.Value).ToList();
}
public virtual T GetCacheItem<T>(string cacheKey)
public virtual object GetCacheItem(string cacheKey)
{
var result = MemoryCache.Get(cacheKey);
if (result == null)
{
return default(T);
}
return result.TryConvertTo<T>().Result;
return result;
}
public virtual T GetCacheItem<T>(string cacheKey, Func<T> getCacheItem)
public virtual object GetCacheItem(string cacheKey, Func<object> getCacheItem)
{
return GetCacheItem(cacheKey, CacheItemPriority.Normal, null, null, null, getCacheItem);
}