Flask Academy · บทเรียน

ทำให้รายการแคชใช้ไม่ได้และหมดอายุ

ล้างข้อมูลเก่าและกำหนดเวลาหมด

บทเรียน 4 จาก 413 ขั้นตอน

ทำให้รายการแคชใช้ไม่ได้และหมดอายุ เป็นบทเรียน Flask Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Flask Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Flask Academy มีบทเรียนทั้งหมด 4 บทเรียน

ส่วนที่ยากที่สุด

การแคชเป็นเรื่องง่ายจนกว่าข้อมูลจะเปลี่ยน การทำให้แคชใช้ไม่ได้หมายถึงการลบรายการเก่า เพื่อไม่ให้ผู้ใช้เห็นเนื้อหาที่ล้าสมัย

หมดอายุตามเวลา

เครื่องมือที่ง่ายที่สุดคือเวลาหมดอายุ เมื่อผ่านไปตามจำนวนวินาทีที่กำหนด รายการจะหมดอายุเอง และการเรียกครั้งถัดไปจะเติมข้อมูลใหม่

@cache.cached(timeout=30)

เลือก TTL ที่เหมาะสม

TTL คือการแลกเปลี่ยนระหว่างความใหม่ของข้อมูลกับความเร็ว ค่าที่สั้นทำให้คำนวณใหม่บ่อยขึ้น ส่วนค่าที่ยาวเสี่ยงให้ข้อมูลเก่าอยู่นานขึ้น

ลบคีย์หนึ่งรายการ

เมื่อข้อมูลเปลี่ยนแปลง อย่ารอให้หมดอายุ ให้เรียกใช้ cache.delete พร้อมคีย์เพื่อลบรายการนั้นทันที

cache.delete("user_42")

ล้างทุกอย่าง

ตัวเลือกที่ล้างทั้งหมดคือ cache.clear ซึ่งจะลบทุกรายการ ควรใช้เท่าที่จำเป็น เพราะจะบังคับให้สร้างแคชใหม่ทั้งหมด

cache.clear()

ลบผลลัพธ์ที่จดจำไว้

สำหรับตัวช่วยที่ใช้การจดจำผลลัพธ์ ให้ใช้ delete_memoized เพื่อลบผลลัพธ์ของฟังก์ชันที่แคชไว้ทันทีเมื่อข้อมูลต้นทางอัปเดต

cache.delete_memoized(get_profile, user_id)

ทำให้แคชใช้ไม่ได้เมื่อเขียนข้อมูล

รูปแบบที่ชัดเจนคือ หลังจากบันทึกการเปลี่ยนแปลงแล้ว ให้ลบคีย์แคชที่ตรงกันทันที เพื่อให้การอ่านครั้งถัดไปสร้างข้อมูลใหม่

db.session.commit()
cache.delete(key)

กำหนดค่ากับเวลาหมดอายุเริ่มต้น

คุณสามารถแทนที่การหมดอายุของแต่ละรายการด้วย set และเวลาหมดอายุ โดยไม่ใช้ค่าเริ่มต้นส่วนกลางสำหรับค่านั้น

cache.set("k", v, timeout=10)

รายการที่ไม่มีวันหมดอายุ

การส่ง timeout=0 จะเก็บค่าที่ไม่มีวันหมดอายุเอง จากนั้นคุณต้องรับผิดชอบลบค่าดังกล่าวด้วยตนเอง

cache.set("flag", True, timeout=0)

คีย์ที่มีหมายเลขเวอร์ชัน

เคล็ดลับที่ดีคือใส่เวอร์ชันไว้ในคีย์ เมื่อเพิ่มหมายเลขเวอร์ชัน รายการเก่าทั้งหมดจะถูกละเลยโดยไม่ต้องลบอะไร

key = f"posts_v{VERSION}"

ข้อมูลเก่าคือข้อบกพร่อง

มองการแสดงเนื้อหาที่ล้าสมัยว่าเป็นข้อบกพร่องจริง ทุกเส้นทางการเขียนควรมีขั้นตอนการทำให้แคชใช้ไม่ได้ที่สอดคล้องกันวางแผนไว้

ตรวจสอบอย่างรวดเร็ว

ผู้ใช้อัปเดตโปรไฟล์แล้ว แต่หน้ายังคงแสดงชื่อเดิม

สรุป: การทำให้แคชใช้ไม่ได้

คุณสามารถทำให้หมดอายุด้วยเวลาหมดอายุ ลบคีย์เดียว ล้างทั้งหมด ลบผลลัพธ์ที่จดจำไว้ และทำให้แคชใช้ไม่ได้เมื่อเขียนข้อมูล จัดการแคชอย่างรอบคอบนะครับ! 🧠

เริ่มต้นได้ฟรี

เรียนรู้ Python ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “ทำให้รายการแคชใช้ไม่ได้และหมดอายุ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ทำให้รายการแคชใช้ไม่ได้และหมดอายุ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Flask Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Flask Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ทำให้รายการแคชใช้ไม่ได้และหมดอายุ”

ล้างข้อมูลเก่าและกำหนดเวลาหมด คุณปฏิบัติ Flask Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Flask Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Flask Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “ทำให้รายการแคชใช้ไม่ได้และหมดอายุ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Flask Academy นี้ได้ไหม

ได้ บทเรียน Flask Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ตั้งค่า Flask-Caching
  2. แคชมุมมองด้วย cached
  3. จดจำฟังก์ชันที่ใช้ทรัพยากรมาก
  4. ทำให้รายการแคชใช้ไม่ได้และหมดอายุ
← กลับไปที่ Flask Academy