프로그램 코드
<%
'xilou,www.chinacms.org,20090115 작성
'최종 업데이트: 20090115
'수정 기록: 없음
CONST CACHEPREFIX = "CACHE_" '캐시 접두어는 비워둘 수 없습니다.
' 설명:
' 1. 캐시 형식은 Application(CACHEPREFIX & key) = array("캐시 키", "캐시 시간", "캐시 내용", "캐시 설명", "만료 시간")입니다.
'2, 캐시 키는 대소문자를 구분하지 않습니다.
'캐시가 있는지 확인하지 않고 추가하면 캐시를 업데이트하는 것과 같습니다.
'varAry: 매개변수, 형식은 다음과 같습니다: array("캐시 키", "캐시 시간", "캐시 콘텐츠", "캐시 설명")
'캐시 키: application()과 동일한 형식
'캐시 시간: 단위 초, 음수일 수 있으며 즉시 만료를 나타냄, 비어 있거나 비어 있거나 숫자가 아닐 수 있음, 기본값은 20분 만료입니다.
'캐시 내용: 캐시 데이터, 개체 캐싱은 지원되지 않습니다.
'캐시 설명: 캐시 설명
함수 AddCache(varAry)
희미한 c,ary(4)
IsArray(varAry)가 아닌 경우
Response.Write "오류: AddCache(varAry) 매개변수 오류, 매개변수가 배열이 아닙니다."
응답.끝()
종료 조건
UBound(varAry) <> 3이면
Response.Write "오류: AddCache(varAry) 매개변수 오류, 배열 길이 오류"
응답.끝()
종료 조건
varAry(0) = ""이면 다음과 같습니다.
Response.Write "오류: AddCache(varAry) 오류, 키는 비워둘 수 없습니다."
응답.끝()
종료 조건
varAry(1) = "" 또는 IsNumeric(varAry(1))이 아닌 경우 varAry(1) = 1200
응용프로그램.잠금()
애플리케이션(CACHEPREFIX & varAry(0)) = array(varAry(0),varAry(1),varAry(2),varAry(3),DateAdd("s",varAry(1),Now()))
응용 프로그램.잠금 해제()
기능 종료
'캐시가 존재하는지 확인하고, 존재하면 True를 반환하고, 그렇지 않으면 False를 반환합니다.
'키: 캐시 키
기능 CheckCache(키)
희미한 k
Application.Contents의 각 k에 대해
LCase(k) = LCase(CACHEPREFIX & 키)이면 CheckCache = True : 함수 종료
다음
CheckCache = 거짓
기능 종료
'캐시 가져오기
'형식으로 배열을 반환합니다: array("캐시 키", "캐시 시간", "캐시 내용", "캐시 설명", "만료 시간", 만료 여부 True|False)
'존재하지 않으면 에러가 발생하므로 CheckCache(key)로 확인 후 얻어오세요.
기능 GetCache(키)
희미한 앱, isExp
app = 애플리케이션(CACHEPREFIX 및 키)
isExp = 거짓
DateDiff("s",Now(),app(4)) <= 0이면 isExp = True
GetCache = 배열(app(0),app(1),app(2),app(3),app(4),isExp)
기능 종료
'캐시 지우기
기능 RemoveCache(키)
응용프로그램.잠금()
Application.Contents.Remove(CACHEPREFIX 및 키)
응용 프로그램.잠금 해제()
기능 종료
'캐시를 업데이트하세요. 캐시가 없으면 오류가 발생하므로 업데이트 전 CheckCache(key)를 확인하세요.
'varAry: 매개변수, 형식은 다음과 같습니다: array("캐시 키", "캐시 시간", "캐시 콘텐츠", "캐시 설명")
'캐시 키: application()과 동일한 형식
'캐시 시간: 단위 초, 음수일 수 있으며 즉시 만료를 나타냄, 비어 있거나 비어 있거나 숫자가 아닐 수 있음, 기본값은 20분 만료입니다.
'캐시 내용: 캐시 데이터, 개체 캐싱은 지원되지 않습니다.
'캐시 설명: 캐시 설명
'참고: varAry의 특정 값을 업데이트하지 않는 경우 값을 null로 설정하면 됩니다.
' 예를 들어 UpdateCache(array("key",null,"content",null))는 만료 시간과 설명이 업데이트되지 않음을 의미합니다.
함수 UpdateCache(varAry)
희미한 앱
앱 = GetCache(varAry(0))
IsNull(varAry(1))이 아닌 경우 app(1) = varAry(1)
IsNull(varAry(2))가 아닌 경우 app(2) = varAry(2)
IsNull(varAry(3))이 아닌 경우 app(3) = varAry(3)
app(1) = "" 또는 IsNumeric(app(1))이 아닌 경우 app(1) = 1200
응용프로그램.잠금()
애플리케이션(CACHEPREFIX & 앱(0)) = array(app(0),app(1),app(2),app(3),DateAdd("s",app(1),Now()))
응용 프로그램.잠금 해제()
기능 종료
'www.downcodes.com
'디버깅을 위한 캐시 인쇄
기능 PrintCache(키)
앱이 어두워요
CheckCache(키)라면 다음
앱 = GetCache(키)
응답.쓰기 "<pre>{"&chr(10)
응답.chr(32) & "캐시 이름" & chr(32) & ":" & chr(32) & CACHEPREFIX & app(0) & chr(10) 쓰기
응답.chr(32) & "캐시 키" & chr(32) & ":" & chr(32) & app(0) & chr(10) 쓰기
응답.chr(32) & "캐시 시간" & chr(32) & ":" & chr(32) & app(1) & chr(10) 쓰기
응답.chr(32) & "만료 시간" & chr(32) & ":" & chr(32) & app(4) & chr(10) 쓰기
응답.chr(32) & "기한이 됩니까?" & chr(32) & ":" & chr(32) & app(5) & chr(10)
응답.chr(32) & "캐시 설명" & chr(32) & ":" & chr(32) & app(3) & chr(10) 쓰기
'콘텐츠
응답.chr(32) & "캐시된 콘텐츠" & chr(32) & ":" & chr(32) 쓰기
t = VarType(앱(2))
InStr(",0,1,2,3,4,5,6,7,8,11,",","&t&",") > 0이면
응답.앱 작성(2)
또 다른
응답.쓰기 유형이름(app(2))
종료 조건
응답.문자 쓰기(10)
응답.쓰기 "}</pre>"&chr(10)
또 다른
응답.쓰기 "캐시가 존재하지 않습니다"
종료 조건
기능 종료
'----------데모
하위 br(str)
응답.Write str & "<br />" & vbcrlf
서브 끝
'RemoveCache "xilou"
'AddCache Array("xilou","",array("데이터 콘텐츠"),"캐시 설명")
br CheckCache("xilou")
PrintCache "xilou"
희미한 앱
If CheckCache("xilou") 그러면
app = GetCache("xilou") '가져오기
UpdateCache 배열(app(0),null,"testsfsfsf",null)'업데이트
또 다른
AddCache array("xilou","","content","description")
종료 조건
'딤 k
'Application.Contents의 각 k에 대해
'br k
'다음
%>