asp.net-web-api
캐싱
수색…
비고
캐싱은 미래의 요청을 위해 어딘가에 데이터를 저장하는 과정입니다. 우리가 데이터를 어딘가에 캐시하면 데이터를 얻기 위해 데이터베이스에 원치 않는 히트가 발생하는 것을 피할 수 있습니다. 이렇게하면 데이터가 더 빠르게 전달되도록 할 수 있습니다 .
System.Runtime.Caching (MemoryCache)
System.Runtime.Caching 네임 스페이스를 가져옵니다 (System.Runtime.Caching DLL을 프로젝트 참조에 추가했는지 확인하십시오).
MemoryCache 클래스의 인스턴스를 만듭니다.
MemoryCache memCache = MemoryCache.Default;
MemoryCache에 값 추가
public IQueryable<tblTag> GettblTags()
{
var ca = db.tblTags;
memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
return db.tblTags;
}
여기에 "태그"는 내 키이고 "ca"는 내 값이고 DateTimeOffset.UtcNow.AddMinutes (5)는 지금부터 5 분 동안 캐시를 설정하기위한 것입니다.
MemoryCache에서 값 가져 오기
var res = memCache.Get("tag");
if (res != null)
{
return res;
}
else {
var ca = db.tblTags;
memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
return db.tblTags;
}
변수 res에 캐시 값을 가져 오며,이 값은 5 분 동안 만 저장된다는 것을 기억하십시오. 필요에 따라 언제든지 변경할 수 있습니다. 값이 null이 아닌 경우, 그것을 돌려 주어 조작을 실시해, null의 경우는 데이타베이스로부터 데이터를 꺼내 캐쉬에 추가합니다.
MemoryCache에서 값 제거
if (memCache.Contains("tag"))
{
memCache.Remove("tag");
}
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow