Ich habe einen statischen Teil, der auf jeder Seite enthalten ist (Navigation), dessen Generierung jedoch viel Zeit in Anspruch nimmt. Aus diesem Grund habe ich eine Cache-Lebensdauer und einen statischen Cache-Schlüssel festgelegt.
Funktioniert einwandfrei, bis FPC aktiviert ist. Dann wird der Block für eine neu aufgerufene Seite immer noch neu generiert und nicht aus dem Blockcache bedient.
Es gibt diese Zeile in Enterprise_PageCache_Model_Observer
:
Mage::app()
->getCacheInstance()
->banUse(Mage_Core_Block_Abstract::CACHE_GROUP); // disable blocks cache
Was ist der Grund dafür? Es ist für mich sinnvoll, bestimmte Blöcke auch dann zwischenzuspeichern, wenn FPC aktiviert ist. Andernfalls wird die Generierung von Seiten, die nicht vollständig aus dem Cache bereitgestellt werden, verlangsamt.
- Was ist die gestalterische Entscheidung dahinter?
- Was ist eine gute Lösung dafür?
- Wäre es schädlich, wenn ich dieses Block-Cache-Verbot einfach aufheben würde?
Antworten:
Dieser Fehler wurde in Magento 1.14.2.0 behoben. (Siehe http://merch.docs.magento.com/ee/user_guide/magento/release-notes-ee-1.14.2.html unter Bekannte Probleme.)
quelle
if ($this->_processor->canProcessRequest($request) && ($request->isStraight() || $this->_processor->getRequestProcessor($request)) ) { Mage::app()->getCacheInstance()->banUse(Mage_Core_Block_Abstract::CACHE_GROUP); }
aber ich kann keine Gründe dafür finden, warum Sie den Blockcache sperren würden. Können Sie mehr aufklären?Um FPC für dynamische Blöcke zu deaktivieren, z. B. in der Kasse oder auf der Warenkorbseite. Bei der dritten Frage sollten Sie meiner Meinung nach dies nicht tun, da dies den FPC-Prozess beschädigen könnte (um ehrlich zu sein, sollten wir auch den Quellcode überprüfen).
quelle