क्या मुख्य कैशिंग तंत्र के माध्यम से कैश किए गए हैं या क्या मुझे प्रत्येक दृश्य में सीधे कैशिंग सेट करना चाहिए?


23

मैं देखता हूं कि मेरे प्रत्येक विचार में कैश सेटिंग्स हैं। क्या मुझे इन्हें सेट करने की आवश्यकता है या कोर कैशिंग मैकेनिज्म / एडमिन / कॉन्फिगरेशन / डेवलपमेंट / परफॉरमेंस में से कुछ अपने आप हो जाते हैं और ये "अतिरिक्त सेटिंग्स" विचारों में हैं अगर मैं ड्रूपल कोर के डिफॉल्ट कैशिंग व्यवहार को ओवरराइड करना चाहता हूं?

यहाँ छवि विवरण दर्ज करें


मैं इस सटीक प्रश्न के बारे में उत्सुक हूं। क्या दृश्य विशिष्ट कैश सेटिंग्स ड्रुपल कोर प्रदर्शन कैशिंग सेटिंग्स को ओवरराइड करती हैं? तार्किक रूप से, मुझे लगता है कि वे ऐसा होगा, लेकिन यह जरूरी नहीं माना जा सकता है।
डेविड कॉन्सका

मैंने इसके लिए एक इनाम शुरू किया, क्योंकि मैं वास्तव में इसे बेहतर समझना चाहूंगा।
डेविड कॉन्सका

जवाबों:


38

WHAT: कोर प्रदर्शन कैशिंग स्टोर और URL के कैश आईडी के साथ पूरे रेंडर किए गए पेज पर कार्य करता है। दृश्य कैशिंग केवल दृश्य आउटपुट को कैश करने के लिए इससे आगे जाता है।

क्यों: यह लॉग इन उपयोगकर्ताओं के लिए बहुत अच्छा है; पृष्ठ पर अन्य ब्लॉक अधिक गतिशील हो सकते हैं, लेकिन दृश्य को हर उपयोगकर्ता के लिए हर बार एक क्वेरी चलाने की ज़रूरत नहीं है ... बस कभी-कभी उपयोगकर्ता जो कैश जीवनकाल समाप्त होने पर पेज कैश उत्पन्न करता है।

सेटिंग्स: क्वेरी की तुलना में नए सिरे से "प्रस्तुत आउटपुट" की अनुमति देना सामग्री को नए के रूप में चिह्नित करने जैसी चीजों के लिए उपयोगी है, अन्यथा बस उन्हें मिलाएं।

बड़ी तस्वीर: Drupal पृष्ठ को गतिशील रूप से कार्य करता है, PHP में पृष्ठों का निर्माण करने के लिए एक सर्वर का उपयोग करता है और एक डेटाबेस (या-इन-मेमोरी कैश) का उपयोग करता है। यह भयानक सुविधाओं और सामग्री संपादक वेग की अनुमति देता है ... लेकिन व्यापार बंद को कैशिंग को समझने और इसे सही करने की आवश्यकता है।

मॉड्यूल!

वहाँ भी एक सुंदर दृश्य सामग्री कैश मॉड्यूल है जो सामग्री संपादन पर दृश्य कैश को साफ़ करता है। यदि आप आगे जाना चाहते हैं तो आप कैशे क्रियाओं की भी जाँच कर सकते हैं , मैं नियम चाहता हूँ कि इसे ठीक किया जाए।

इसके अतिरिक्त, ब्लॉकचैच ऑल्टर आपको अपनी साइट पर प्रत्येक ब्लॉक के लिए "प्रति भूमिका", पृष्ठ, उपयोगकर्ता, आदि कैशिंग विकल्प सेट करने की अनुमति देता है।

आप पेज मैनेजर और पैनल्स भी जोड़ सकते हैं । यह आपको कैश को "प्रति उपयोगकर्ता", "प्रति भूमिका", या कई अन्य बहुत उपयोगी कॉन्फ़िगरेशन सेट करने जैसी दिलचस्प चीजें करने की अनुमति देता है। हालांकि मैं व्यक्तिगत रूप से पैनलों से बचता हूं।

DOCUMENTATION: सामान्य रूप से कैचिंग और प्रदर्शन के लिए Drupal.org पेज देखें


यह उत्तर वास्तव में अच्छा है। ऊपर मतदान किया। मैंने पेज मैनेजर और पैनल्स पर एक सेक्शन जोड़ा, और अब इसका उत्तर अधिकतर पूरा हो सकता है।
लेटेरियन

क्या कोर प्रदर्शन "ब्लॉक कैशिंग" को दर्शाने के लिए सक्षम होना आवश्यक है कि विशिष्ट कैशिंग काम करने के लिए?
डेविड कॉन्सका

पृष्ठ प्रबंधक / पैनलों के बारे में थोड़ा जोड़ने के लिए धन्यवाद - क्योंकि इस के लिए इनाम जोड़ने के बाद मुझे एहसास हुआ कि मैं मिनी-पैनल कैशिंग के बारे में भी उत्सुक था। मैं सोच रहा था कि क्या कोर प्रदर्शन "ब्लॉक कैशिंग" ओवरराइड करता है या प्रभावी होने के लिए मिनी-पैनल्स "सरल कैशिंग" के लिए सक्षम होना चाहिए।
डेविड कॉन्सका

1
ब्लॉक कैशिंग वास्तव में आपके विचार कैशिंग सेटिंग्स की परवाह किए बिना ब्लॉक आउटपुट को कैश करेगा ... पेज कैश के समान। यदि आपके पास 12 घंटे लॉग आउट पृष्ठ कैश जीवनकाल है, तो दृश्य कैश मायने नहीं रखता क्योंकि उन पृष्ठों को फिर से प्रस्तुत नहीं किया जा रहा है, वे अभी कैश से सेवा कर रहे हैं।
डबलजॉश

1
इसके विपरीत, अगर मैं कोर ब्लॉक कैशिंग सक्षम करता हूं, तो ड्रुपल मेरे पूरे ब्लॉक में अपने पूरे साइट पर एक ही कैशिंग शर्तों को लागू करेगा, है ना? चूंकि कोर ड्रुपल ब्लॉक कैशिंग, व्यू ब्लॉक कैशिंग सेटिंग्स पर उच्च प्राथमिकता लेता है? ऐसा लगता है कि केवल एक अच्छा परिदृश्य है यदि आपके पास सामग्री नहीं है जो लगातार आधार पर ताज़ा करने की आवश्यकता हो सकती है।
डेविड कॉन्सका

4

व्यूज़ Drupal cache API का उपयोग करता है लेकिन यह अपना खुद का कैश बनाता है जो सामान्य Drupal पेज / ब्लॉक कैश से संबंधित नहीं है।

दृश्य दृश्य परिभाषा को स्वयं प्रस्तुत किए गए दृश्य के साथ कैश करता है। रेंडर किए गए दृश्य को दो तरीकों से कैश किया जा सकता है, या तो क्वेरी परिणाम या दृश्य का वास्तविक HTML। आम तौर पर आप आउटपुट HTML को कैश करना चाहते हैं क्योंकि यह सबसे प्रभावी प्रदर्शन है। कुछ मामलों में जहां आप लॉग इन उपयोगकर्ता के आधार पर आउटपुट को बदलना चाहते हैं, क्वेरी को कैशिंग करना काफी प्रभावी हो सकता है।

कैश संग्रहीत करने के लिए दृश्य तालिका का उपयोग किया जाता है:

  • cache_views
  • cache_views_data

तो, क्या मैं व्यवस्थापक / कॉन्फ़िगरेशन / विकास / प्रदर्शन में Drupal Core Block caching सेटिंग को अक्षम कर सकता हूं, लेकिन विशिष्ट दृश्य ब्लॉक कैश को व्यक्तिगत रूप से प्रदर्शित कर सकता हूं, और अभी भी उन दृश्यों को ब्लॉक कैश ठीक से काम करता है?
डेविड कॉन्सका

1
@DavidCsonka हाँ आप ऐसा कर सकते हैं। ब्लॉक को कैशिंग करना दृश्य को कैशिंग करने से अधिक प्रभावी होगा, लेकिन केवल एक छोटे से मार्जिन से।
googletorp

आह, यह जानना अच्छा है। लेकिन, केवल दृश्य कैशिंग सेटिंग का उपयोग करने से मुझे अधिक सटीक नियंत्रण मिलेगा कि व्यू ब्लॉक कैसे ठीक है? अगर मैं इसके बजाय कोर ब्लॉक कैशिंग का उपयोग करता हूं, तो यह मूल रूप से मेरी साइट के प्रत्येक ब्लॉक पर कैशिंग सेटिंग्स का एक सेट लगाता है? सही बात?
डेविड Csonka

1
दृश्य कैशिंग (ब्लॉक या पृष्ठ) आपको परिणाम सूची सेट के कैशिंग पर नियंत्रण देता है। ब्लॉक कैशिंग पूर्ण ब्लॉक आउटपुट के बारे में है। हाँ कोर ब्लॉक कैशिंग एक साइट-वाइड सेटिंग है, लेकिन आप ब्लॉक प्रति बहुत बारीक रूप से बदलने के लिए ब्लॉक कैश अलर्ट का उपयोग कर सकते हैं।
डबलजोश

3
@doublejosh Drupal 7 में आप परिभाषित कर सकते हैं कि ब्लॉक कैश को कैसे काम करना चाहिए, साइट-वाइड, प्रति भूमिका, प्रति पृष्ठ, पेज उपयोगकर्ता मेरे द्वारा चुने गए विकल्प हैं। चूंकि यह उच्च स्तर पर कैशिंग कर रहा है, इसलिए यह अधिक प्रभावी है।
googletorp

3

एक दिलचस्प मॉड्यूल उपलब्ध है, जिसे अब तक कैश व्यू के नाम से जाना जाता है, जो कि उजागर रूपों वाले विचारों को छोड़कर स्वचालित रूप से सभी दृश्यों (क्वेरी परिणामों और आउटपुट) को कैश करता है। मॉड्यूल आपको अपने कैशिंग से विचारों को मैन्युअल रूप से बाहर करने की भी अनुमति देता है। यह केंद्रीय बिंदु से सभी विचारों (अपवर्जित लोगों को छोड़कर) के लिए कैशिंग सेट करना संभव बनाता है।


2

Drupal 7 पेज कैशिंग प्रदान करता है, हालांकि पेज कैशिंग केवल अनाम उपयोगकर्ताओं के लिए काम करता है और विचारों को कैश नहीं करता है

हालाँकि, कैशिंग, अनाम और उपयोगकर्ताओं दोनों के लिए काम करता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.