पूर्ण पृष्ठ कैश ब्लॉक कैश को अक्षम क्यों कर रहा है?


13

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

ठीक काम करता है, जब तक कि एफपीसी सक्षम नहीं है। फिर ब्लॉक को फिर से एक नए पृष्ठ के लिए जेनरेट किया जाता है और ब्लॉक कैश से नहीं परोसा जाता है।

इस पंक्ति में है Enterprise_PageCache_Model_Observer:

Mage::app()
    ->getCacheInstance()
    ->banUse(Mage_Core_Block_Abstract::CACHE_GROUP); // disable blocks cache

इसका क्या कारण है? यह मेरे लिए अभी भी कुछ ब्लॉकों को कैश करने के लिए समझ में आता है, भले ही एफपीसी चालू हो - क्योंकि अन्यथा उन पृष्ठों की पीढ़ी जो कैश से पूरी तरह से काम नहीं करती हैं, धीमा हो जाती हैं।

  1. उसके पीछे क्या डिजाइन में कमी है?
  2. उसके आसपास एक अच्छा समाधान क्या है?
  3. अगर मैं इस ब्लॉक कैश बैन को हटा दूं तो क्या यह हानिकारक होगा?

यह एक पुराना सवाल है, लेकिन क्या आपने इस पर कुछ पाया है?
xelber

जवाबों:


1

यह बग Magento 1.14.2.0 में तय किया गया है। ( http://merch.docs.magento.com/ee/user_guide/magento/release-notes-ee-1.14.2.html ज्ञात मुद्दों के तहत)


2
मैंने १.१४.२.४ में इस पर ध्यान दिया है। मैं देख सकता हूं कि समय के साथ तर्क बदल गया है। कोड अगर से घिरा हुआ है: if ($this->_processor->canProcessRequest($request) && ($request->isStraight() || $this->_processor->getRequestProcessor($request)) ) { Mage::app()->getCacheInstance()->banUse(Mage_Core_Block_Abstract::CACHE_GROUP); } लेकिन मैं कुछ भी नहीं पा सकता हूं कि ब्लॉक कैश पर प्रतिबंध लगाने के पीछे क्या कारण है। क्या आप अधिक आत्मज्ञान कर सकते हैं?
पैनपाइप्स

2

डायनेमिक ब्लॉक के लिए एफपीसी को अक्षम करने में सक्षम होने के लिए, चेकआउट या कार्ट पेज में। तीसरे प्रश्न के बारे में, मेरी राय में आपको ऐसा नहीं करना चाहिए जो कि एफपीसी प्रक्रिया टूट जाए (सही जवाब देने के लिए, हमें स्रोत कोड की जांच करनी चाहिए)।


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

बस मैंने स्रोत कोड की जाँच की जो उपयोगकर्ता कुकीज़ को नियंत्रित कर रहा है। यदि उपयोगकर्ता ने कुकी को अवरुद्ध कर दिया है, तो FPC ने कैश को अवरुद्ध कर दिया है। _getCookie फ़ंक्शन एंटरप्राइज़_पेजCache_Model_Cookie उदाहरण देता है जो उपयोगकर्ता कुकी को नियंत्रित कर रहा है।
ओउज़ु ikेलिकादेमिर

कुकी के साथ क्या करना है? और आप किस कोड लाइन की बात कर रहे हैं? भ्रमित
एलेक्स

एलेक्स, आज रात मैं फिर से जांच करूंगा और आपको आवश्यक कोड ब्लॉक भेजूंगा।
ओउज़ु dलिक्दमिर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.