.NET Framework
System.Runtime.Caching.MemoryCache (ObjectCache)
수색…
캐시에 항목 추가 (설정)
Set 함수는 CacheItem 인스턴스를 사용하여 캐시 항목에 대한 키와 값을 제공하여 캐시 항목을 캐시에 삽입합니다.
이 함수는 ObjectCache.Set(CacheItem, CacheItemPolicy)
재정의 ObjectCache.Set(CacheItem, CacheItemPolicy)
private static bool SetToCache()
{
string key = "Cache_Key";
string value = "Cache_Value";
//Get a reference to the default MemoryCache instance.
var cacheContainer = MemoryCache.Default;
var policy = new CacheItemPolicy()
{
AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(DEFAULT_CACHE_EXPIRATION_MINUTES)
};
var itemToCache = new CacheItem(key, value); //Value is of type object.
cacheContainer.Set(itemToCache, policy);
}
System.Runtime.Caching.MemoryCache (ObjectCache)
이 함수는 기존 항목 양식 캐시를 가져오고 캐시에 항목이 없으면 valueFetchFactory 함수를 기반으로 항목을 가져옵니다.
public static TValue GetExistingOrAdd<TValue>(string key, double minutesForExpiration, Func<TValue> valueFetchFactory)
{
try
{
//The Lazy class provides Lazy initialization which will evaluate
//the valueFetchFactory only if item is not in the cache.
var newValue = new Lazy<TValue>(valueFetchFactory);
//Setup the cache policy if item will be saved back to cache.
CacheItemPolicy policy = new CacheItemPolicy()
{
AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(minutesForExpiration)
};
//returns existing item form cache or add the new value if it does not exist.
var cachedItem = _cacheContainer.AddOrGetExisting(key, newValue, policy) as Lazy<TValue>;
return (cachedItem ?? newValue).Value;
}
catch (Exception excep)
{
return default(TValue);
}
}
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow