Today : 2024-10-24 Thursday
홈 현재 경제노트 가족은 388,872명 입니다.
당신은 14,355,396번째 방문객 입니다.
경제노트 서가 가족이 쓰는 노트 책밑줄긋기 독서모임
로그인 |
회원가입없이 경제노트를 이메일로 받고 싶으신 분은 이름과 이메일을 입력해 주세요
개인정보 수집및 이용 안내에 동의
(확인하기)
뉴스레터 수정/해지
추천인
이름
메일
추천받는 분
이름
메일
인사말
개인정보 수집및 이용 안내에 동의
(확인하기)
한번에여러명추천하기
IT과학 일반글
캐싱(Caching)
입력 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”)
이상 캐싱에 대해 알아보았습니다.
예병일의경제노트 추천정보
 
공유하기
덧글(0) 스크랩(0) 이 노트 글을...
예병일의경제노트 노트지기 덧글
덧글 달기
덧글달기
이름     비밀번호
엮인글(트랙백) 쓰기 주소 : http://note.econote.co.kr/tb/jonghyunster/4369    
대기권을 벗어날 때가 가장 고통스럽다
이것은 운이었나, 실력이었나?
노트 목록으로 이동
필자 예병일 소개 경제노트 소개 1:1문의하기 개인정보 취급방침
예병일의 경제노트    대표자: 예병일    개인정보 관리책임자: 조영동 팀장    전화: 02-566-7616   팩스: 02-566-7619