Mam część statyczną, która znajduje się na każdej stronie (nawigacja), ale jej wygenerowanie zajmuje dużo czasu. Dlatego ustawiłem czas życia bufora i statyczny klucz pamięci podręcznej.
Działa dobrze, dopóki FPC nie zostanie włączone. Następnie blok jest generowany ponownie dla nowo wywoływanej strony i nie jest obsługiwany z pamięci podręcznej bloku.
Ta linia znajduje się w Enterprise_PageCache_Model_Observer
:
Mage::app()
->getCacheInstance()
->banUse(Mage_Core_Block_Abstract::CACHE_GROUP); // disable blocks cache
Jaki jest tego powód? Dla mnie sensowne jest nadal buforowanie niektórych bloków, nawet jeśli FPC jest włączony - ponieważ w przeciwnym razie generowanie stron, które nie są w pełni obsługiwane z pamięci podręcznej, zostanie spowolnione.
- Co kryje się za tym projektem?
- Jakie jest wokół tego dobre rozwiązanie?
- Czy byłoby to szkodliwe, jeśli po prostu usunę blokadę pamięci podręcznej bloków?
Odpowiedzi:
Ten błąd został naprawiony w Magento 1.14.2.0. (patrz http://merch.docs.magento.com/ee/user_guide/magento/release-notes-ee-1.14.2.html w części Znane problemy)
źródło
if ($this->_processor->canProcessRequest($request) && ($request->isStraight() || $this->_processor->getRequestProcessor($request)) ) { Mage::app()->getCacheInstance()->banUse(Mage_Core_Block_Abstract::CACHE_GROUP); }
ale nie mogę znaleźć niczego, co uzasadniałoby zablokowanie pamięci podręcznej bloków. Czy możesz oświecić więcej?Aby móc wyłączyć FPC dla bloków dynamicznych, na przykład w kasie lub na stronie koszyka. Jeśli chodzi o trzecie pytanie, moim zdaniem nie powinieneś tego robić, co może zepsuć proces FPC (szczerze mówiąc, aby udzielić właściwej odpowiedzi, powinniśmy również sprawdzić kod źródłowy).
źródło