การพัฒนาทั้งสองเว็บไซต์ล่าสุดทำให้ฉันมีแนวคิดใหม่ๆ มากมาย! ฉันได้อ่านโค้ดที่ยอดเยี่ยมมามากมาย แต่ฉันไม่เคยพบรูปแบบที่เหมาะกับฉันเลย! จากการออกแบบแคช ดูเหมือนว่าฉันจะพบวิธีคิดที่สะดวกกว่าแล้ว ที่จริงแล้ว เพจแบบสแตติกที่นี่ไม่คงที่ในความหมายที่แท้จริง แต่สามารถบรรลุประสิทธิภาพในการแยกวิเคราะห์ของเพจแบบสแตติก โดยไม่ได้รับการทดสอบโดยโปรเจ็กต์และมีการแชร์ที่นี่
คัดลอกรหัสรหัสดังต่อไปนี้:
-
Const DEVJS_INDEX=index.html
ค่า INDEX_DEFAULT_INTERVAL=300
Dim sLastUpdate
'ใช้ Application เพื่อบันทึกเวลาที่อัพเดตล่าสุด และตัดสินเพจ สร้างเพจทุกๆ 300 วินาที (5 นาที)
sLastUpdate=แอปพลิเคชัน(INDEX_LAST_อัปเดต)
ถ้า sLastUpdate= หรือ DateDiff(s,sLastUpdate,now())>INDEX_DEFAULT_INTERVAL แล้ว
'เรียก MakeIndex() เพื่อสร้างเพจและเปลี่ยนเวลาอัพเดตล่าสุดพร้อมกัน
ทำให้ดัชนี()
sLastUpdate=ตอนนี้()
แอปพลิเคชัน (INDEX_LAST_Update)=sLastUpdate
Response.Write เกินเวลาเริ่มต้น อัปเดตเมื่อ & sLastUpdate
อื่น
Response.Write อ่านเพจแบบคงที่ อัปเดตด้วย & sLastUpdate
สิ้นสุดถ้า
Response.Write LoadTextFile (เซิร์ฟเวอร์ MapPath (DEVJS_INDEX), GB2312)
ฟังก์ชั่น MakeIndex()
sContent=<hr> & ตอนนี้()
โทร SaveTextFile (Server.MapPath (DEVJS_INDEX), GB2312, sContent)
ฟังก์ชันสิ้นสุด
-
หากหมดอายุ ให้อัปเดตเพจ หากยังไม่หมดอายุ ให้เรียกเพจสแตติกโดยตรง
นี่คือประโยค oStream.SaveToFile sFilePath,2
คัดลอกรหัสรหัสดังต่อไปนี้:
-
ฟังก์ชั่น LoadTextFile (sFilePath, sCharset)
ติ่ม oStream
ตั้งค่า oStream=Server.CreateObject(ADODB.Stream)
oStream.Type=2
oStream.Mode=3
oStream.เปิด
oStream.Charset=sCharset
oStream.Position=oStream.Size
oStream.LoadFromFile sFilePath
LoadTextFile=oStream.ReadText
oStream.ปิด
ตั้งค่า oStream=Nothing
ฟังก์ชันสิ้นสุด
ฟังก์ชั่น SaveTextFile (sFilePath, sCharset, outString)
บันทึกไฟล์=เท็จ
ติ่ม oStream
ตั้งค่า oStream = Server.CreateObject (ADODB.Stream)
oStream.Type=2
oStream.Mode=3
oStream.เปิด
oStream.Charset=sCharset
oStream.WriteText = outString
oStream.SaveToFile sFilePath,2
oStream.ปิด
ตั้งค่า oStream = ไม่มีเลย
บันทึกข้อความไฟล์=จริง
ฟังก์ชันสิ้นสุด
-
สิ่งนี้ยุ่งยากน้อยกว่าการแคชและตรงไปตรงมามากกว่ามาก! ที่จริงแล้ว คุณสามารถทำสิ่งต่างๆ ได้มากมายใน MakeIndex() เช่น การอ่านไฟล์เทมเพลตและการแทนที่ไฟล์เหล่านั้น