|
회원가입없이 경제노트를 이메일로 받고 싶으신 분은 이름과 이메일을 입력해 주세요 |
|
|
|
|
|
|
입력 2006-04-06 오전 12:00:00 |
마음에 드는 노트지기의 업데이트 된 글을 내 노트에서 손쉽게 확인할 수 있습니다.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
안녕하세요? [세티의 닷넷 강좌]의 박종현 입니다. 이번 강좌에서는 Caching에 대해서 다뤄보도록 하겠습니다.
먼저 Caching이라는 단어의 사전적 의미를 볼 것 같으면 캐시기억장치 또는 디스크의 캐시에 명령어와 데이터를 일시적으로 저장하는 것으로 이것은 CPU가 주기억장치나 디스크에서 데이터를 읽어오는 것보다 몇 배나 빠르다고 되어 있습니다.
그러면 ASP.NET 에서 이야기되고 있는 캐싱의 원리는 어떤 것이 있을까요? ASP.NET에서의 캐싱은 크게 2가지로 나눌 수 있는데 Application Cache와 Page Output Cache를 들 수 있습니다. 물론 이 두 가지는 위에서 언급한 사전적 의미를 크게 벗어나지 않습니다.
크게 ASP.NET을 사용하게 되면 메모리 내에 랜더링된 페이지나 사용자 컨트롤의 출력, DataSet등과 같은 내용을 저장할 수 있습니다. 물론 이 데이터를 갱신하기 위해 캐시의 업데이트와 같은 관리와 같은 설정도 가능하게 되어 있습니다.
이것은 캐시를 페이지에서 제공하는 것이 아니라 메모리에서 제공하게 되며, 그렇게 된다면 응용 어플리케이션의 경우 데이터를 가져오기 위해 데이터베이스에 연결해야 되는 횟수가 그만큼 줄어들게 된다는 이야기 이기도 합니다. 결국 이것을 사용하게 되면 성능이 월등하게 좋아지게 된다는 것입니다. 더군다나 ASP.NET에서는 이 캐싱을 원하는 곳에 지정함(SQL, Server, local)으로써 다양하게 저장, 재사용 할 수 있도록 했습니다. 이것을 사용하는 방법은 매우 간단합니다.
ASP.NET의 경우 HTML 페이지의 상단에 아래의 지시자를 넣기만 하면 됩니다.
<%@ OutputCache Duration=”60” VaryByParam = “none”%> |
위의 지시자에서 Duration은 캐쉬가 얼마동안 유지되어야 하는지에 대한 초 단위의 시간을 의미하고 VaryByParam의 경우 멀티 캐쉬를 이용하고자 할 때 none대신에 특정한 이름을 부여하면 됩니다.
아래는 캐쉬에 데이터를 입력하는 코드 입니다.
Cache.Insert("CacheItem6", "Cached Item 6", Nothing, DateTime.Now.AddMinutes(1.0),
TimeSpan.Zero) |
물론 이미 데이터가 입력된 기존의 캐쉬에 다시 정보를 추가할 수 있습니다.
Dim CachedItem9 As String = CStr(Cache.Add("CacheItem9", "Cached Item 9", Nothing,
System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.Default, Nothing)) |
물론 캐쉬들은 유지시간이 지나면 모두 폐기 또는 데이터가 갱신되기도 합니다.
따라서, 사용의 목적에 따라 시간 셋팅을 잘하는 것이 중요합니다.
그럼 생성된 캐쉬를 강제로 삭제할 수 있을까요? 물론 그것 또한 가능합니다.
Cache.Remove(“CacheData”) |
이상 캐싱에 대해 알아보았습니다.
|
|
|
|
예병일의경제노트 추천정보 |
|
|
|
|
|
|
|
예병일의경제노트 노트지기 덧글 |
|
|
|
|
|
|
|
|
|
노트 목록으로 이동 |
|
|
|