หลังจากหาวิธี Cache กับข้อมูลเว็บไซต์ที่มีจำนวนตั้งแต่แสน + ขึ้นไป คำถามคือ จะทำไงให้ลงฐานข้อมูลให้น้อยที่สุด ลองมาหลายวิธี สรุป Cache ใช้ได้ ฟรัด้วย
Browser Cache TTL และ Edge Cache TTL ทั้งสองเป็นส่วนหนึ่งของระบบการจัดเก็บข้อมูลชั่วคราวหรือ caching ที่ใช้กับเว็บไซต์ แต่พวกเขาทำงานในระดับที่แตกต่างกัน:
ดังนั้น, ส่วนใหญ่ Edge Cache TTL จะมีช่วงเวลาที่ยาวกว่า Browser Cache TTL ซึ่งอนุญาตให้ edge servers ทำการตอบสนองการส่งคำขอจากเว็บเบราว์เซอร์แทน origin server ลดการส่งผ่านข้อมูลระหว่าง server และสร้างประสบการณ์ที่รวดเร็วขึ้นสำหรับผู้ใช้
สิ่งต่อไปที่ควรมีคือ batch สำหรับเปิดหน้าเว็บทั้งหมดเพื่อให้ระบบทำการแคช
import requests from xml.etree import ElementTree def visit_url(url): try: response = requests.get(url) if response.status_code == 200: print(f"Successfully visited {url}") return True else: print(f"Failed to visit {url}, status code: {response.status_code}") return False except Exception as e: print(f"Error visiting {url}: {str(e)}") return False sitemaps = [ 'https://knowlib.app/sitemap-1.xml', 'https://knowlib.app/sitemap-3.xml', 'https://knowlib.app/sitemap-4.xml', 'https://knowlib.app/sitemap-5.xml' ] for sitemap in sitemaps: print(f"Starting to visit urls from {sitemap}") response = requests.get(sitemap) tree = ElementTree.fromstring(response.content) for url in tree.findall('.//{http://www.sitemaps.org/schemas/sitemap/0.9}loc'): success = visit_url(url.text) if success: print(f"Finished visiting {url.text} successfully.") else: print(f"Failed to visit {url.text}.") print(f"Finished visiting all urls from {sitemap}")