J'ai une partie statique qui est incluse sur chaque page (navigation), mais prend beaucoup de temps à générer. C'est pourquoi j'ai défini une durée de vie du cache et une clé de cache statique.
Fonctionne bien, jusqu'à ce que FPC soit activé. Ensuite, le bloc est toujours généré à nouveau pour une page nouvellement appelée et non servi à partir du cache de bloc.
Il y a cette ligne dans Enterprise_PageCache_Model_Observer
:
Mage::app()
->getCacheInstance()
->banUse(Mage_Core_Block_Abstract::CACHE_GROUP); // disable blocks cache
Quelle est la raison pour ça? Il est logique pour moi de toujours mettre en cache certains blocs, même si FPC est activé - car sinon la génération de pages qui ne sont pas entièrement servies à partir du cache est ralentie.
- Quelle est la décision de conception derrière cela?
- Quelle est la bonne solution à ce sujet?
- Serait-il dangereux de supprimer cette interdiction de cache de bloc?
Réponses:
Ce bogue a été corrigé dans Magento 1.14.2.0. (réf http://merch.docs.magento.com/ee/user_guide/magento/release-notes-ee-1.14.2.html sous Problèmes connus)
la source
if ($this->_processor->canProcessRequest($request) && ($request->isStraight() || $this->_processor->getRequestProcessor($request)) ) { Mage::app()->getCacheInstance()->banUse(Mage_Core_Block_Abstract::CACHE_GROUP); }
mais je ne trouve rien sur le raisonnement derrière la raison pour laquelle vous interdiriez le cache de bloc. Pouvez-vous éclairer davantage?Pour pouvoir désactiver FPC pour les blocs dynamiques, par exemple, dans la page de paiement ou de panier. À propos de la 3ème question, à mon avis, vous ne devriez pas faire cela, ce qui pourrait interrompre le processus FPC (pour être franc, pour donner la bonne réponse, nous devons également vérifier le code source).
la source