2012-10-05 12 views
24

जूमला में ग्लोबल कॉन्फ़िगर में 2 कैशिंग रूढ़िवादी और प्रगतिशील है, दोनों में क्या अंतर है?जूमला 2.5 में रूढ़िवादी कैशिंग और प्रगतिशील कैशिंग के बीच क्या अंतर है?

+3

जूमला में ग्लोबल कॉन्फिगर-कैशिंग के बारे में अच्छा लेख यहां दिया गया है। देखने के लिए नीचे दिए गए लिंक पर क्लिक करें। http://www.inmotionhosting.com/support/edu/joomla-25/caching/global-module-caching – Toretto

+0

यह बेहतर और तेज़ कहता है - http://www.itoctopus.com/why-progressive-caching-in -जूमला-से-ज्यादातर मामलों में से बचा जाना चाहिए लेकिन उपरोक्त आलेख प्रयोग के साथ जवाब का समर्थन करता है। यदि आपके पास समय, दोनों को पढ़ने का समय है, तो आपको इसे पढ़ें, – pathfinder

उत्तर

11

आगंतुक प्रति अनोखा कैश के लिए

  • कंजर्वेटिव कैश अपनी साइट एक ही सटीक कैश की गई सामग्री के लिए सभी आगंतुकों को दर्शाता है।

  • प्रगतिशील कैशिंग हालांकि प्रत्येक उपयोगकर्ता के लिए सामग्री को विशिष्ट रूप से कैश करता है।

link @ तूफान की टिप्पणी

30

कंजर्वेटिव कैशिंग द्वारा प्रदत्त से कैशिंग के मानक प्रकार है। यहां बताया गया है कि यह कैसे काम करता है:

  • कोई विज़िटर आपकी वेबसाइट पर किसी पृष्ठ पर जाता है।

  • जूमला जांचता है कि उसके कैश निर्देशिका में उस पृष्ठ का एक गैर-कालबाह्य संस्करण है या नहीं।

  • यदि कैश किया गया पृष्ठ मौजूद है (और यह समाप्त नहीं हुआ है), तो जूमला आगंतुक को इसकी सेवा करेगा - अन्यथा, पृष्ठ का एक कैश संस्करण बनाया गया है, और कैश किए गए संस्करण को आगंतुक को और प्रत्येक के लिए सेवा दी जाएगी अन्य परिणामी आगंतुक, जब तक यह है ("इसे" से हम पृष्ठ का मतलब है) समाप्त नहीं हुआ।

उपर्युक्त परिदृश्य सामान्य है और यह है कि अधिकांश डेवलपर कैशिंग को कैसे कार्यान्वित करते हैं।

प्रगतिशील कैशिंग निम्नलिखित तरीके से काम करता है:

  • एक आगंतुक अपनी वेबसाइट पर एक पृष्ठ पर।

  • जूमला चेक करता है कि उस विज़िटर के लिए उस पृष्ठ का कैश संस्करण मौजूद है और यह अभी तक समाप्त नहीं हुआ है।

  • यदि वह कैश किया गया पृष्ठ मौजूद है, तो यह आगंतुक को दिया जाएगा, अन्यथा, जूमला उस विशिष्ट आगंतुक के लिए कैश किए गए पृष्ठ को बनाएगा और फिर उसे सेवा देगा।

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

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

अब आप सोच सकते हैं कि किस परिस्थिति में प्रगतिशील कैशिंग उपयोगी है? खैर, कल्पना करें कि आपके पास एक वीडियो वेबसाइट है ( यूट्यूब के समान)। आप प्रत्येक आगंतुक अनुकूलित पृष्ठ को अपने स्थान और/या ब्राउज़र सेटिंग्स और/या प्लगइन के आधार पर दिखाना चाहते हैं। इसलिए, आगंतुकों द्वारा लोड किए जाने वाले प्रत्येक पृष्ठ के लिए, आप इस जानकारी का उपयोग पर उस पृष्ठ का एक अनुकूलित संस्करण उत्पन्न करते हैं और आप इसे कैश करते हैं। यदि विज़िटर फिर उसी पृष्ठ पर जाता है, तो जूमला को को अनुकूलित पृष्ठ उत्पन्न करने के लिए काम को फिर से करने की आवश्यकता नहीं है।

बेशक, जिसके तहत प्रगतिशील कैशिंग वास्तव में उपयोगी है कई स्थितियों देखते हैं, लेकिन हमारी राय में, प्रगतिशील कैशिंग केवल शामिल किया जाए या वेबसाइट कई आगंतुकों प्राप्त करता है और उन आगंतुकों आगंतुकों ज्यादातर दोहराने कर रहे हैं। अन्य मामलों में इसका उपयोग करने से वेबसाइट के प्रदर्शन पर महत्वपूर्ण हिट होगी।

here से निकाला गया।

+1

मैं "प्रदर्शन हिट" प्रगतिशील कैश पर अधिक तनाव नहीं डाल सकता! मेरे पास बहुत से रिटर्निंग उपयोगकर्ताओं के साथ एक व्यस्त वेबसाइट है और सोचा कि प्रगतिशील कैश पसंद होगा। लेकिन यह मेरी वेबसाइट चकमा समाप्त हो गया। सर्वर रैम उपयोग बढ़ गया, सीपीयू उपयोग में वृद्धि हुई और पेज लोड करने के लिए 1 मिनट अधिक समय लगाना शुरू कर दिया! एक दुःस्वप्न लॉन्च था। जैसे ही मैंने कैश को अक्षम कर दिया, पृष्ठ 3 सेकंड में लोड हुआ। तब से, मैं कैशिंग का उपयोग कभी नहीं करता और सत्र संचालक के लिए केवल memcache का उपयोग करता हूं! – Neel

1

प्रोग्रेसिव कैशिंग रूढ़िवादी कैशिंग की तरह काम करता है जिसमें बफर को क्रमशः अपडेट किया जाता है।

यदि आप JAplicationCMS (जहां प्रगतिशील कैशिंग सेट है) में रेंडर फ़ंक्शन देखते हैं, तो आप पाएंगे कि यह लॉग इन उपयोगकर्ताओं पर लागू नहीं है। https://github.com/joomla/joomla-cms/blob/staging/libraries/cms/application/cms.php

if ($this->isSite() && $this->get('caching') && $this->get('caching', 2) == 2 && !JFactory::getUser()->get('id')) 
    { 
     $caching = true; 
    } 

इसके अलावा अगर आप ब्राउज़रों में एक ही पृष्ठ के लिए कैश आईडी के डंप या आईपीएस आप एक ही कैश पहचान-पत्र मिल जाएगा।

प्रगतिशील कैशिंग का सामान्य कार्य जेसीएच के getWorkarounds और setWorkarounds में होता है। हालांकि सावधान रहें, कभी-कभी मुद्दों के कारण cbuffers अनावश्यक बड़े हो सकते हैं।

संबंधित मुद्दे