Django Academy · पाठ

प्रति-दृश्य और प्रति-साइट कैशिंग

डेकोरेटर से पूरे पृष्ठों को कैश करें

पाठ 2, कुल 4 में से13 चरण

प्रति-दृश्य और प्रति-साइट कैशिंग, CoddyKit पर Django Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Django Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Django Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

पूरा पृष्ठ कैश करें

कभी-कभी पूरा पृष्ठ बनाना महँगा होता है। जैंगो पूरे रेंडर किए गए उत्तर को संग्रहीत करके अगले आगंतुक के लिए फिर से दिखा सकता है।

cache_page डेकोरेटर

किसी दृश्य को cache_page में लपेटें और जैंगो उसके पूरे आउटपुट को आपके द्वारा दी गई सेकंड की संख्या तक कैश में रखेगा।

from django.views.decorators.cache import cache_page

@cache_page(60 * 15)
def article_list(request):
    ...

प्रति-दृश्य कैशिंग में क्या संग्रहीत होता है

प्रति-दृश्य कैशिंग केवल उस दृश्य का HttpResponse रखती है, इसलिए केवल आपके द्वारा सजाए गए पृष्ठों को ही यह गति मिलती है।

URLconf में कैशिंग

आप दृश्य को बदले बिना urls.py में भी cache_page लागू कर सकते हैं। यह उन दृश्यों के लिए उपयोगी है जिनके आप स्वामी नहीं हैं।

path("news/", cache_page(60)(news_view))

पूरी साइट की कैशिंग

लगभग हर पृष्ठ को एक साथ कैश करने के लिए जैंगो डेकोरेटर के बजाय दो मिडलवेयर क्लास द्वारा संचालित पूरी साइट की कैशिंग उपलब्ध कराता है।

दो मिडलवेयर

पूरी साइट की कैशिंग काम करने के लिए सूची के सबसे ऊपर UpdateCacheMiddleware और सबसे नीचे FetchFromCacheMiddleware जोड़ें।

MIDDLEWARE = [
    "django.middleware.cache.UpdateCacheMiddleware",
    "...your middleware...",
    "django.middleware.cache.FetchFromCacheMiddleware",
]

साइट कैश की अवधि

पूरी साइट पर हर कैश किए गए पृष्ठ के ताज़ा रहने की अवधि नियंत्रित करने के लिए CACHE_MIDDLEWARE_SECONDS सेट करें।

CACHE_MIDDLEWARE_SECONDS = 600

केवल GET और HEAD

दोनों रणनीतियाँ केवल सुरक्षित GET और HEAD अनुरोधों को कैश करती हैं, इसलिए फ़ॉर्म सबमिशन और अन्य POST अनुरोध कभी भी कैश से नहीं परोसे जाते।

निजी पृष्ठों को कभी कैश न करें

उपयोगकर्ता-विशिष्ट पृष्ठों पर never_cache के साथ कैशिंग छोड़ दें, क्योंकि डैशबोर्ड को कभी भी किसी दूसरे व्यक्ति का डेटा उजागर नहीं करना चाहिए।

from django.views.decorators.cache import never_cache

@never_cache
def dashboard(request):
    ...

Vary हेडर महत्वपूर्ण हैं

कैश किए गए पृष्ठ को भाषा या डिवाइस जैसे अनुरोध विवरणों के आधार पर अलग रखने के लिए vary_on_headers का उपयोग करें, ताकि हर आगंतुक को सही प्रति मिले।

सही दायरा चुनें

जब केवल कुछ भारी पृष्ठों को मदद की ज़रूरत हो, तब प्रति-दृश्य कैशिंग अपनाएँ; और जब लगभग सब कुछ केवल पढ़ने योग्य हो, तब पूरी साइट की कैशिंग अपनाएँ।

त्वरित जाँच

आइए पक्का करें कि जैंगो तय कैसे करता है कि क्या कैश करना है।

पुनरावृत्ति

आपने एकल दृश्यों के लिए cache_page और पूरी साइट के लिए कैश मिडलवेयर सीखा, साथ ही निजी पृष्ठों की सुरक्षा के लिए never_cache भी सीखा। 🚀

शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “प्रति-दृश्य और प्रति-साइट कैशिंग” पाठ निःशुल्क है?

हाँ — Django Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “प्रति-दृश्य और प्रति-साइट कैशिंग” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Django Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“प्रति-दृश्य और प्रति-साइट कैशिंग” में मैं क्या सीखूँगा?

डेकोरेटर से पूरे पृष्ठों को कैश करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Django Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Django Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Django Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“प्रति-दृश्य और प्रति-साइट कैशिंग” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Django Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Django Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Cache Backends और Redis
  2. प्रति-दृश्य और प्रति-साइट कैशिंग
  3. Template Fragment Caching
  4. निम्न-स्तरीय cache API और Invalidation
← Django Academy पर वापस जाएँ