Click or drag to resize

Insert 메서드

캐시에 데이터를 추가합니다.

형식
syntax
objDataCache.Insert(cacheKey, value, dependencies, absoluteExpiration, slidingExpirationSec)

objDataCache

Required. DataCache 오브젝트

cacheKey

String. 캐시된 데이터를 유일하게 구분하는 키 값을 지정합니다.

value

Variant. 캐시할 데이터를 지정합니다. Object를 제외한 VBScript의 모든 데이터 형식을 저장할 수 있습니다.

dependencies

CacheDependency. 캐시 의존성 오브젝트를 지정합니다. 의존성이 없을 경우 Null을 지정합니다.

absoluteExpiration

Date. 명시된 시각에 캐시된 데이터가 만료되도록 지정합니다. 사용하지 않을 경우 0을 지정합니다.

slidingExpirationSec

Long. 호출된 시각부터 지정된 초가 지난 후 캐시된 데이터가 만료되도록 지정합니다. 사용하지 않을 경우 0을 지정합니다.

설명

캐시할 데이터를 글로벌 캐시 매니저에 추가합니다. 글로벌 캐시 매니저는 IIS 웹 응용 프로그램(w3wp.exe) 마다 하나씩 존재하므로 cacheKey 값은 IIS 웹 응용 프로그램 단위 내에서 유일한 값이 되도록 지정해야 합니다. 예를 들어 하나의 웹 응용 프로그램에 두 웹 사이트를 운영할 경우 두 사이트에서 중복되지 않도록 키 값을 정의해 사용해야 합니다.

value에 지정되는 데이터에 object 형식은 지정할 수 없습니다. ADO의 RecordSet과 같은 오브젝트를 저장할 경우 데이터베이스 연결, COM 모델 등의 제한으로 인해 많은 문제가 발생할 수 있기 때문에 배제하였습니다. 캐시에는 RecordSet의 GetRows() 메서드가 반환하는 Array를 저장하거나, 최종 구성된 테이블 HTML 코드를 저장하는 것이 좋은 방법입니다. 특히 캐시 성능을 극대화하기 위해서는 최종 생성된 HTML 코드를 저장하는 것이 바람직합니다.

dependencies는 캐시 데이터가 또 다른 캐시 데이터, 파일, DB 테이블 필드 값의 변화에 따라 함께 만료될 필요가 있을 경우 사용합니다. 또 다른 캐시 데이터에 대한 의존성 정의는 AddCacheKey 메서드를 사용해 정의할 수 있으며, 파일에 대한 의존성은 AddFile 메서드, DB 테이블 필드 값에 대한 의존성은 AddSql 메서드를 호출해 정의할 수 있습니다. 의존성이 없을 경우 Null을 지정하면 됩니다.

absoluteExpiration은 지정된 시각이 지나면 캐시 데이터가 만료될 필요가 있을 경우 사용하고 slidingExpirationSec는 일정 시간마다 만료될 필요가 있을 경우 사용합니다. 두 값 모두 지정되어 있을 경우 absoluteExpiration 값이 우선합니다.

예제

매 5분 마다 또는 another-cache-key가 가리키는 캐시 데이터가 만료되거나 sample.txt 파일이 변경될 경우 새로운 캐시 데이터가 구성됩니다.

ASP
Dim cache, value, dependency
Set cache = Server.CreateObject("TABS.DataCache")
value = cache("cache-key")
If IsNull(value) Then
    value = "new cached value"

    Set dependency  = Server.CreateObject("TABS.CacheDependency")
    dependency.AddCacheKey "another-cache-key"
    dependency.AddFile Server.MapPath("sample.txt")
    cache.Insert "cache-key", value, dependency, 0, 300
End If