HttpRuntime.Cache와 HttpContext.Current.Cache의 차이점은 무엇입니까?
HttpRuntime.Cache
과 의 차이점은 무엇입니까 HttpContext.Current.Cache
?
http://theengineroom.provoke.co.nz/archive/2007/04/27/caching-using-httpruntime-cache.aspx 에서 다음 세부 정보를 찾습니다.
캐싱을 위해 HttpContext.Current.Cache를 사용하여 살펴 보았지만 다른 블로그를 읽은 후 HttpContext를 사용하는 캐싱이 실제 캐싱을 수행하기 위해 HttpRuntime.Cache를 사용한다는 것을 발견했습니다. HttpRuntime을 직접 사용할 때의 장점은 예를 들어 콘솔 애플리케이션 및 단위 테스트에서 항상 사용할 수 있다는 것입니다.
HttpRuntime.Cache를 사용하는 것은 간단합니다. 객체는 캐시에 저장 될 수 있으며 문자열로 인덱싱됩니다. 키 및 객체와 함께 다른 중요한 매개 변수를 캐시하는 것은 만료 시간입니다. 이 매개 변수는 객체가 캐시에서 삭제되기 전 시간을 설정합니다.
HttpContext를 사용한 캐싱은 HttpRuntime.Cache를 사용하여 실제 캐싱을 수행합니다. HttpRuntime을 직접 사용할 때의 장점은 콘솔 응용 프로그램과 단위 테스트에서 항상 사용할 수 있다는 것입니다.
객체는 캐시에 저장 될 수 있고 문자열로 인덱싱 될 수 있다고 이미 말했듯이 사용 HttpRuntime.Cache
은 사용 이 간단 HttpContext.Current.Cache
합니다. 또한 단위 테스트 및 콘솔에서도 HttpRuntime
사용할 수 있습니다.
다음은 HttpRuntime.Cache
.
public static XmlDocument GetStuff(string sKey)
{
XmlDocument xmlCodes;
xmlCodes = (XmlDocument) HttpRuntime.Cache.Get( sKey );
if (xmlCodes == null)
{
xmlCodes = SqlHelper.ExecuteXml(new dn("Nodes", "Node"), "Get_Stuff_From_Database", sKey);
HttpRuntime.Cache.Add(sKey, xmlCodes, null,
DateTime.UtcNow.AddMinutes(1.0),
System.Web.Caching.Cache.NoSlidingExpiration,
System.Web.Caching.CacheItemPriority.Normal, null);
}
return xmlCodes;
}
이 예제가 실제로 수행하는 작업 :
이 메서드 GetStuff
는 데이터베이스에서 항목 집합을 검색하는 데 사용되는 문자열 매개 변수를 사용합니다. 이 메서드는 먼저 XmlDocument
매개 변수 키로 인덱싱 된 항목이 캐시에 있는지 확인 합니다. 그렇다면 데이터베이스를 쿼리하지 않으면이 개체를 반환합니다. 데이터베이스에서 문서를 검색 한 후 캐시에 넣습니다. 이 메서드가 정해진 시간 내에 다시 호출되면 데이터베이스에 부딪히지 않고 개체를 가져옵니다.
'developer tip' 카테고리의 다른 글
JAAS 인증 확인을 Shiro에 위임하려면 어떻게해야합니까? (0) | 2020.11.22 |
---|---|
대규모 공개 데이터 세트? (0) | 2020.11.21 |
Python 목록의 기본 데이터 구조는 무엇입니까? (0) | 2020.11.21 |
디버그 모드에없는 릴리스 버전의 버그에 대한 일반적인 이유 (0) | 2020.11.21 |
스칼라 식별 기능이 있습니까? (0) | 2020.11.21 |