แคชมุมมองด้วย cached
จดจำการตอบกลับทั้งหมดตาม URL
แคชมุมมองด้วย cached เป็นบทเรียน Flask Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Flask Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Flask Academy มีบทเรียนทั้งหมด 4 บทเรียน
แคชการตอบกลับทั้งหมด
บางหน้าต้องใช้การประมวลผลจริงจึงจะสร้างได้ ตัวตกแต่ง cached จะเก็บการตอบกลับทั้งหมดไว้ ทำให้ผู้เข้าชมครั้งถัดไปได้รับสำเนาทันที
ใช้ตัวตกแต่ง
เพิ่ม @cache.cached() ไว้เหนือฟังก์ชันมุมมองของคุณโดยตรง คำขอแรกจะเรียกใช้ฟังก์ชัน ส่วนคำขอถัดไปจะนำผลลัพธ์ที่เก็บไว้มาใช้ซ้ำ
@app.route("/report")
@cache.cached()
def report():
return build_report()ลำดับของตัวตกแต่ง
การเรียงซ้อนมีความสำคัญ วาง @app.route ไว้ด้านบน และ @cache.cached ไว้ด้านล่าง เพื่อให้การกำหนดเส้นทางเกิดขึ้นก่อนเริ่มแคช
กำหนดเวลาหมดอายุแยกสำหรับแต่ละมุมมอง
คุณสามารถแทนที่ค่ากำหนดส่วนกลางสำหรับแต่ละมุมมองได้ อาร์กิวเมนต์เวลาหมดอายุระบุว่าการตอบกลับนี้จะยังใหม่อยู่กี่วินาที
@cache.cached(timeout=60)
def report():
...แคชตามเส้นทางคำขอ
โดยค่าเริ่มต้น คีย์แคชคือเส้นทางคำขอ ดังนั้น /report และ /report/extra จึงถูกเก็บเป็นรายการแยกจากกันโดยอิสระ
ไม่สนใจสตริงคำค้น
โปรดระวัง: คีย์เริ่มต้นจะข้ามสตริงคำค้น ดังนั้น /list?page=2 และ /list?page=3 จะใช้รายการแคชเดียวกัน
แยกตาม URL แบบเต็ม
หากต้องการแยกตามสตริงคำค้น ให้กำหนด query_string=True จากนั้น URL ที่ไม่ซ้ำกันแต่ละรายการ รวมถึงพารามิเตอร์ จะได้รับการตอบกลับที่แคชไว้ของตนเอง
@cache.cached(query_string=True)
def listing():
...คีย์แคชแบบกำหนดเอง
ต้องการควบคุมทั้งหมดใช่ไหม ให้ส่งฟังก์ชัน make_cache_key ที่สร้างคีย์ด้วยตนเอง เช่น ผนวกผู้ใช้ปัจจุบันเข้าไป
@cache.cached(make_cache_key=my_key)แคชเฉพาะเมธอดที่ปลอดภัย
แคชคำขอ GET แต่อย่าแคช POST การแคชการเขียนจะนำเนื้อหาเก่ากลับมาใช้ซ้ำ และข้ามผลข้างเคียงที่ผู้ใช้คาดหวัง
ข้ามแคชเมื่อจำเป็น
ส่งคืน unless เมื่อเงื่อนไขเป็นจริง แล้วมุมมองจะทำงานใหม่ทุกครั้ง วิธีนี้มีประโยชน์เมื่อต้องการข้ามแคชสำหรับผู้ใช้ที่เข้าสู่ระบบ
@cache.cached(unless=lambda: g.user)การเรียกครั้งแรกกับครั้งถัดไป
คำขอแรกเป็นแคชพลาดและจะทำงานจริง คำขอถัดมาทุกคำขอภายในเวลาหมดอายุจะเป็นการพบแคชที่รวดเร็ว
ตรวจสอบอย่างรวดเร็ว
หน้ารายการของคุณใช้ ?page= แต่ทุกหน้ากลับแสดงเนื้อหาที่แคชไว้เหมือนกัน
สรุป: การแคชมุมมอง
คุณได้เรียนรู้การห่อมุมมองด้วย @cache.cached การปรับเวลาหมดอายุ การใช้ URL แบบเต็มเป็นคีย์ และการข้ามแคชสำหรับการเขียน 🚀
คำถามที่พบบ่อย
บทเรียน “แคชมุมมองด้วย cached” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “แคชมุมมองด้วย cached” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Flask Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Flask Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “แคชมุมมองด้วย cached”
จดจำการตอบกลับทั้งหมดตาม URL คุณปฏิบัติ Flask Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Flask Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Flask Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “แคชมุมมองด้วย cached” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Flask Academy นี้ได้ไหม
ได้ บทเรียน Flask Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ตั้งค่า Flask-Caching
- แคชมุมมองด้วย cached
- จดจำฟังก์ชันที่ใช้ทรัพยากรมาก
- ทำให้รายการแคชใช้ไม่ได้และหมดอายุ