A la lecture de l’article d’Alan Kent sur le système de cache de Magento 2, on ne peut que se réjouir d’une vraie prise de conscience du problème qui avait été déjà pris en compte avec la mise en place des modules Redis de Colin Mollenhour dans Magento 1.8 qui avait permis d’améliorer considérablement les performances sur des Magento à moyen et gros volumes. J’avais pris l’initiative de mettre en place ces deux modules (Session et Backend) sur des 1.7 au grand soulagement des clients qui ont vu les temps de réponses s’améliorer avec un temps de chargement parfois divisé par trois.
Pour la future version de Magento, le système de cache se basera a priori sur un cache de page complète du type Varnish avec un chargement en Ajax pour les parties de la pages qui sont spécifiques à l’utilisateur. On pense notamment au récapitulatif du panier, aux liens vers les différentes parties du compte… En s’appuyant tout de même sur le cache du navigateur pour cacher les données qui ne sont pas à même de changer très vite comme le nom de l’utilisateur. De manière générale, toutes les requêtes en GET seront traitées comme des données qui peuvent être stockées dans le cache du navigateur pour une utilisation future alors que les requêtes en POST seront stockées mais uniquement après une vidange du cache du navigateur. Partant de là, les modules devront être conçu afin de respecter cette façon de faire et permettre d’augmenter les performances de Magento grâce à un cache élaboré. La mise en place de Edge Side Includes (ESI) permettra en outre de cacher le squelette de la page et d’appeler des sous-parties.
Du côté du cache public, différentes approches permettront de donner une période avant l’invalidation du cache. Par exemple, une image pourra être caché sur un très long terme (la période de validité dans le cache du navigateur doit rester définie par Apache à mon avis) alors que le stock devra être rafraîchi après chaque achat. Il sera aussi possible de mettre les formulaires en cache en gardant la protection contre les XSRF (CROSS-Site Request Forge) mais ce n’est pas encore détaillé.
Pour l’instant, seul Varnish est implémenté mais la modularité est prévue pour le futur.
Pour en savoir plus sur le cache, vous pouvez consulter : Le cache, un outil pour limiter l’utilisation des serveurs et de la bande passante
Laisser un commentaire
Vous devez vous connecter pour publier un commentaire.