VB.NET 의 Caching 사용법
3067 단어 Caching
디 렉 터 리 는 보통 일주일 에 한 번 씩 업데이트 되 는 전자상거래 사이트사이트 에서 사용자 인터페이스 를 제공 하여 고객 이 제품 을 주문 하도록 했다.한 고객 이 디 렉 터 리 를 조회 할 때 시스템 은 네트워크 를 통 해 데이터 베 이 스 를 조회 하고 각종 계산 을 한 다음 에 결 과 를 되 돌려 줍 니 다.
서버 에서 이 디 렉 터 리 데 이 터 를 조회 하 는 작업 은 매우 빈번 하 다.우 리 는 이 데이터 들 이 일주일 에 한 번 씩 변 한 다 는 것 을 안다.따라서 아래 의 몇 가지 조작 은 성능 상의 손실 을 가 져 올 것 이다.
1.ASP.NET 프로그램 을 실행 하여 데이터베이스 에 대한 검색 어 를 생 성 합 니 다.2.네트워크 를 통 해 데이터베이스 서버 와 통신 한다.3.데이터베이스 서버 컴 파일 실행 조회(또는 저장 과정 실행).
캐 시 메커니즘 은 이러한 작업 을 많이 줄 이 고 응용의 성능 과 신축성 을 높 일 수 있다.우 리 는 고객 의 요청 을 정적 으로 처리 하여 성능 을 향상 시 킬 수 있 도록 결 과 를 캐 시 할 수 있 습 니 다.또한 모든 요청 에 사용 할 자원 을 줄 여 시스템 의 신축성 을 높 였 다.
Cache API 는 ASP 개발 자 에 게 자주 사용 하 는 데 이 터 를 메모리 에 저장 하 는 것 은 새로운 개념 이 아니다.ASP 에 서 는 두 개의 대상 이 그것 을 완성 한다.
세 션 대상
응용 프로그램 대상
Session 은 한 사용자 가 여러 요청 사이 에 공유 하 는 데 이 터 를 저장 하 는 데 사 용 됩 니 다.ASP.NET 에 서 는 작은 변경 사항 이 있 지만 이 변경 사항 은 주로 응용 단계 에 있 습 니 다.Session 대상 에 게 는 저장 키 와 키 값 이 맞 는 집합 입 니 다.애플 리 케 이 션 대상 은 ASP.NET 에 도 저장 되 어 있 으 며,키 와 키 가 맞 는 집합 입 니 다.ASP.NET 과 ASP.NET 에 서 는 애플 리 케 이 션 대상
Application("SomeInterestingData") = "Example data"
Response.Write(Application("SomeInterestingData")
을 다음 코드 로 조작 할 수 있 습 니 다.저 희 는 같은 방법 으로 Session 대상 을 방문 할 수 있 습 니 다.ASP.NET 은 새로운 키 와 키 의 대상 인 Cache 를 가 져 왔 습 니 다.키 와 키 를 제외 하고 Cache 대상 은 단기 데 이 터 를 저장 하 는 새로운 기능 도 제공 합 니 다.의존-키 가 Cache 대상 에 삽 입 될 때 의존 도 를 설정 할 수 있 습 니 다.의존 하 는 대상 이 바 뀌 면 이 키 는 삭 제 됩 니 다.현재 지원 하 는 의존 대상 은 파일,다른 키 와 시간 이 있 습 니 다.자동 실효-의존 하 는 키 가 없 으 며,사용 빈도 가 높 지 않 을 때 자동 으로 삭 제 됩 니 다.리 셋 지원-키 가 삭 제 될 때 이 벤트 를 얻 을 수 있 습 니 다.이 이벤트 에서 키 값 을 업데이트 하거나 삭제 작업 을 취소 할 수 있 습 니 다.캐 시 대상 을 사용 할 때 이 점 을 주의해 야 합 니 다.캐 시 대상 의 키 를 사용 하기 전에 매번 키 가 존재 하 는 지 확인 해 야 합 니 다.Cache 대상 의 키 값 은 의존 하거나 사용 빈도 가 낮 기 때문에 삭 제 됩 니 다.따라서 Cache 의 대상 을 사용 할 때마다 존재 하 는 지 확인 해 야 합 니 다.예 를 들 어,우 리 는 다음 과 같은 코드 로 DataSet 로 돌아 갈 수 있 습 니 다.
Private Function LoadDataSet() As DataSet
Dim sqlConnection As SQLConnection
Dim sqlAdapater As SQLDataSetCommand
Dim datasetProducts As New DataSet()
Dim sqlDSN As String
Dim sqlSelect As String
" Connection String and Select statement
sqlDSN = "server=localhost;uid=sa;pwd=;database=grocertogo"
sqlSelect = "Select * From Products"
" Connect
sqlConnection = new SQLConnection(sqlDSN)
sqlAdapater = new SQLDataSetCommand(sqlSelect, sqlConnection)
" Fill dataset create product table
sqlAdapter1.FillDataSet(datasetProducts, "products")
Return products
End Function
Cache , DataSet Cache LoadDataSet()。
Public Function GetProductData() As DataSet
If (IsNothing(Cache("ProductData")) Then
Cache("ProductData") = LoadDataSet()
Return Cache("ProductData")
End Function
Cache 대상 은 많은 곳 에서 Application 대상 과 비슷 한 점 이 있 고,가장 큰 차이 점 은 Cache 가 의존 을 지원 하 는 것 입 니 다.