إبطال إدخالات ذاكرة التخزين المؤقت وانتهاؤها
امسح البيانات القديمة واضبط مهلات الانتهاء.
إبطال إدخالات ذاكرة التخزين المؤقت وانتهاؤها درس مجاني في Flask Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Flask Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Flask Academy 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
The Hardest Part
Caching is easy until data changes. Invalidation means removing stale entries so users never see outdated content.
Time-Based Expiry
The simplest tool is a timeout. After the set seconds pass, the entry expires on its own and the next call refills it.
@cache.cached(timeout=30)Pick a Sensible TTL
Your TTL trades freshness for speed. A short one means more recomputes; a long one risks serving older data longer.
Delete One Key
When data changes now, do not wait for expiry. Call cache.delete with the key to evict that single entry at once.
cache.delete("user_42")Clear Everything
The blunt option is cache.clear, which wipes every entry. Use it sparingly, since it forces a full cold rebuild.
cache.clear()Evict a Memoized Result
For memoized helpers, reach for delete_memoized to drop a cached function result the moment its source data updates.
cache.delete_memoized(get_profile, user_id)Invalidate on Write
A clean pattern: right after you save a change, delete the matching cache key so the next read rebuilds it fresh.
db.session.commit()
cache.delete(key)Set vs Default Timeout
You can override expiry per entry with set and a timeout, ignoring the global default for that one value.
cache.set("k", v, timeout=10)Never-Expire Entries
Passing timeout=0 stores a value that never expires on its own. You then become responsible for deleting it.
cache.set("flag", True, timeout=0)Versioned Keys
A neat trick is putting a version in the key. Bump the version and every old entry is ignored without deleting anything.
key = f"posts_v{VERSION}"Stale Data Is a Bug
Treat showing outdated content as a real defect. Every write path should have a matching invalidation step planned.
Quick Check
A user updates their profile but the page still shows the old name.
Recap: Invalidation
You can expire by timeout, delete single keys, clear all, evict memoized results, and invalidate on write. Cache wisely! 🧠
الأسئلة الشائعة
هل درس «إبطال إدخالات ذاكرة التخزين المؤقت وانتهاؤها» مجاني؟
نعم — نص درس «إبطال إدخالات ذاكرة التخزين المؤقت وانتهاؤها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Flask Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Flask Academy 4 دروس في المجموع.
ماذا ستتعلم في «إبطال إدخالات ذاكرة التخزين المؤقت وانتهاؤها»؟
امسح البيانات القديمة واضبط مهلات الانتهاء. تتمرن على Flask Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Flask Academy؟
لا تُشترط خبرة سابقة. Flask Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «إبطال إدخالات ذاكرة التخزين المؤقت وانتهاؤها»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Flask Academy هذا؟
نعم. كل درس في Flask Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- إعداد Flask-Caching
- تخزين عرض مؤقتًا باستخدام cached
- تخزين الدوال المكلفة مؤقتًا
- إبطال إدخالات ذاكرة التخزين المؤقت وانتهاؤها