오늘은 꽤 무료입니다! 최근 두 웹사이트의 개발로 인해 저는 많은 새로운 아이디어를 얻었습니다! 저도 훌륭한 코드를 많이 읽어봤지만 나에게 딱 맞는 패턴을 찾지 못했어요! 캐시 디자인을 그리다 보니 좀 더 편리한 사고방식을 찾은 것 같습니다. 실제로 여기의 정적 페이지는 진정한 의미에서 정적이 아니지만 정적 페이지의 구문 분석 효율성을 달성할 수 있으며 프로젝트에서 테스트되지 않았으며 여기에서 공유됩니다.
<%
'기사 출처: http://www.devjs.com
Const DEVJS_INDEX=index.htmlConst INDEX_DEFAULT_INTERVAL=300Dim sLastUpdate'는 Application을 사용하여 마지막 업데이트 시간을 저장하고, 페이지에 대한 판단을 내려 300초(5분)마다 페이지를 생성합니다. sLastUpdate=Application(INDEX_LAST_Update)If sLastUpdate= 또는 DateDiff(s,sLastUpdate,now())>INDEX_DEFAULT_INTERVAL 그런 다음 'MakeIndex()를 호출하여 페이지를 생성하고 마지막 업데이트 시간을 변경합니다. MakeIndex() sLastUpdate=Now() Application(INDEX_LAST_Update)=sLastUpdate Response.Write가 기본 시간을 초과하고 & sLastUpdateElse Response.Write에서 업데이트됩니다. 정적 페이지를 읽고 & sLastUpdateEnd에서 업데이트됩니다. IfResponse.Write LoadTextFile(Server.MapPath(DEVJS_INDEX),GB2312) 함수 MakeIndex() sContent=<hr> & Now() 호출 SaveTextFile(Server.MapPath(DEVJS_INDEX),GB2312,sContent)End Function%>
만료된 경우 페이지를 업데이트하고, 만료되지 않은 경우에는 정적 페이지를 직접 호출합니다. 여기에도 두 가지 함수가 함께 사용됩니다. SaveTextFile()은 덮어쓰기 방식으로 작성됩니다.
이것은 oStream.SaveToFile sFilePath,2 문장입니다.
<%Function LoadTextFile(sFilePath,sCharset) Dim oStream Set oStream=Server.CreateObject(ADODB.Stream) oStream.Type=2 oStream.Mode=3 oStream.Open oStream.Charset=sCharset oStream.Position=oStream.Size oStream.LoadFromFile sFilePath LoadTextFile=oStream.ReadText oStream.Close 설정 oStream=NothingEnd 함수 함수 SaveTextFile(sFilePath,sCharset,outString) SaveFile=false Dim 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=trueEnd 함수%>
이는 캐싱보다 덜 번거롭고 훨씬 더 간단합니다! 실제로 MakeIndex()에서는 템플릿 파일을 읽고 바꾸는 등 많은 작업을 수행할 수 있습니다.