최근 두 웹사이트의 개발로 인해 저는 많은 새로운 아이디어를 얻었습니다! 훌륭한 코드를 많이 읽었지만 나에게 맞는 패턴을 찾지 못했습니다! 캐시 디자인을 그리다보니 좀 더 편리한 사고방식을 찾은 것 같습니다. 실제로 여기의 정적 페이지는 진정한 의미에서 정적이 아니지만 정적 페이지의 구문 분석 효율성을 달성할 수 있으며 프로젝트에서 테스트되지 않았으며 여기에서 공유됩니다.
다음과 같이 코드 코드를 복사합니다.
<%
상수 DEVJS_INDEX=index.html
상수 INDEX_DEFAULT_INTERVAL=300
희미한 마지막 업데이트
'어플리케이션을 이용하여 마지막 업데이트 시간을 저장하고, 페이지에서 판단하여 300초(5분)마다 페이지를 생성합니다.
sLastUpdate=애플리케이션(INDEX_LAST_Update)
sLastUpdate= 또는 DateDiff(s,sLastUpdate,now())>INDEX_DEFAULT_INTERVAL인 경우
'페이지를 생성하고 동시에 마지막 업데이트 시간을 변경하려면 MakeIndex()를 호출하세요.
메이크인덱스()
sLastUpdate=현재()
애플리케이션(INDEX_LAST_Update)=sLastUpdate
Response.Write가 기본 시간을 초과하고 sLastUpdate에 업데이트됨
또 다른
Response.Write는 & sLastUpdate로 업데이트된 정적 페이지를 읽습니다.
종료 조건
응답.쓰기 LoadTextFile(Server.MapPath(DEVJS_INDEX),GB2312)
함수 MakeIndex()
sContent=<시간> 및 Now()
SaveTextFile(Server.MapPath(DEVJS_INDEX),GB2312,sContent) 호출
기능 종료
%>
만료된 경우 페이지를 업데이트하고, 만료되지 않은 경우에는 정적 페이지를 직접 호출합니다. 여기에도 두 가지 함수가 함께 사용됩니다. SaveTextFile()은 덮어쓰기 방식으로 작성됩니다.
이것은 oStream.SaveToFile sFilePath,2 문장입니다.
다음과 같이 코드 코드를 복사합니다.
<%
함수 LoadTextFile(sFilePath,sCharset)
희미한 oStream
oStream=Server.CreateObject(ADODB.Stream) 설정
oStream.Type=2
oStream.Mode=3
oStream.Open
oStream.Charset=sCharset
oStream.Position=oStream.Size
oStream.LoadFromFilesFilePath
LoadTextFile=oStream.ReadText
oStream.Close
oStream=아무것도 설정하지 않음
기능 종료
함수 SaveTextFile(sFilePath,sCharset,outString)
저장파일=false
희미한 oStream
oStream = Server.CreateObject(ADODB.Stream) 설정
oStream.Type=2
oStream.Mode=3
oStream.Open
oStream.Charset=sCharset
oStream.WriteText = outString
oStream.SaveToFile sFilePath,2
oStream.Close
oStream = 없음으로 설정
SaveTextFile=true
기능 종료
%>
이는 캐싱보다 덜 번거롭고 훨씬 더 간단합니다! 실제로 MakeIndex()에서는 템플릿 파일을 읽고 바꾸는 등 많은 작업을 수행할 수 있습니다.