logo

एक्स्ट्रा ब्लॉक टाइप्स (EBT) - नया लेआउट बिल्डर अनुभव❗

एक्स्ट्रा ब्लॉक टाइप्स (EBT) - स्टाइलिश, कस्टमाइज़ेबल ब्लॉक टाइप्स: स्लाइडशो, टैब्स, कार्ड्स, एकॉर्डियन्स और कई अन्य। बैकग्राउंड, DOM बॉक्स, जावास्क्रिप्ट प्लगइन्स के लिए बिल्ट-इन सेटिंग्स। आज ही लेआउट बिल्डिंग का भविष्य अनुभव करें।

डेमो EBT मॉड्यूल्स EBT मॉड्यूल्स डाउनलोड करें

❗एक्स्ट्रा पैराग्राफ टाइप्स (EPT) - नया पैराग्राफ्स अनुभव

एक्स्ट्रा पैराग्राफ टाइप्स (EPT) - एनालॉजिकल पैराग्राफ आधारित मॉड्यूल्स का सेट।

डेमो EPT मॉड्यूल्स EPT मॉड्यूल्स डाउनलोड करें

स्क्रॉल
03/10/2025, by Ivan

Cache max-age = समय पर निर्भर कैश

Cache max-age HTTP हेडर Cache-Control की max-age निर्देशिका के समान है।

क्यों?

कैश का अधिकतम समय (max-age) समय-निर्भर कैश बनाने का एक घोषणात्मक तरीका प्रदान करता है।

कुछ डेटा केवल एक सीमित अवधि तक मान्य होते हैं, इस स्थिति में आप उपयुक्त अधिकतम आयु निर्दिष्ट करना चाहेंगे। हालांकि, Drupal 8 कोर के मामले में हमारे पास ऐसा डेटा नहीं है, जो केवल सीमित अवधि तक मान्य हो; हम सामान्यतः हमेशा के लिए कैश करते हैं (नीचे देखें) और पूरी तरह से कैश टैग्स पर निर्भर रहते हैं अमान्यकरण (invalidation) के लिए।

क्या?

कैश max-age एक धनात्मक पूर्णांक होता है, जो सेकंड की संख्या को व्यक्त करता है।

कैश का अधिकतम समय अलग-अलग पूर्णांकों के रूप में पारित किया जाता है, क्योंकि किसी दिए गए कैश आइटम का तार्किक रूप से केवल एक अधिकतम समय हो सकता है।

उदाहरण:

  • 60 का अर्थ है 60 सेकंड के लिए कैश
  • 100 का अर्थ है 100 सेकंड के लिए कैश
  • 0 का अर्थ है 0 सेकंड के लिए कैश, यानी कोई कैश नहीं
  • \Drupal\Core\Cache\Cache::PERMANENT का अर्थ है हमेशा के लिए कैश, यानी केवल कैश टैग्स द्वारा अमान्य किया जाएगा। (अन्य शब्दों में: ∞ या अनंत सेकंड।)

इसलिए, यदि आप उदाहरण के लिए, किसी रेंडर किए गए ब्लॉक को कैश होने से रोकना चाहते हैं, तो आपको उसके लिए max-age = 0 निर्दिष्ट करना होगा।

अधिकांश रेंडर ऐरे के लिए उदाहरण:

$build['#cache']['max-age'] = 0;

फ़ंक्शन में उदाहरण:

\Drupal::cache()->set('my_cache_item', $school_list, REQUEST_TIME + (86400));

यदि आप ब्लॉक का max-age 0 पर बदलना चाहते हैं, तो आपको getCacheMaxAge मेथड को लागू करना होगा।

max-age की सीमाएँ

दुर्भाग्य से, max-age गुमनाम (anonymous) उपयोगकर्ताओं और Drupal Core के Page Cache मॉड्यूल के लिए काम नहीं करता। उदाहरण के लिए, इन मुद्दों को देखें:

जब तक ये (और संभवतः अन्य) समस्याएँ हल नहीं हो जातीं, ध्यान रखें कि किसी पेज में शामिल रेंडर ऐरे पर max-age सेट करना पर्याप्त नहीं है ताकि गुमनाम उपयोगकर्ता अधिकतम समय समाप्त होने के बाद नया संस्करण देख सकें। इस बीच, प्रदत्त Cache Control Override मॉड्यूल इन समस्याओं को कम करने का प्रयास करता है। आपको यह भी सौभाग्य मिल सकता है यदि आप समय-निर्भर सामग्री वाले पृष्ठों पर एक कस्टम कैश टैग सेट करें और hook_cron() के माध्यम से इन टैग्स को मैन्युअल रूप से अमान्य करें। शुभकामनाएँ!