web-dev-qa-db-fra.com

Mise en cache de composants personnalisés

J'ai un composant immobilier personnalisé/information écrit pour un site Web militaire. Mon composant couvre environ 220 installations militaires et pour chaque installation, je propose les mêmes présentations avec des données d'installation spécifiques pour chacune. Ma question concerne la mise en cache appropriée. Nous avons actuellement environ 450 000 propriétés dans la base de données. Chaque propriété a un champ clé qui détermine l’installation pour laquelle cette propriété doit être affichée. Certaines des plus grandes installations peuvent avoir 6-7k propriétés pour cette base unique.

La mise en cache est activée pour mon site, mais ma question est de savoir si la mise en cache de page dans Joomla ou la mise en cache de com_content couvre mon composant personnalisé.

Je suppose que la viande et les pommes de terre de cette question sont les suivantes: devrais-je inclure des méthodes pour mettre en cache mes pages/mises en page de composants personnalisés ou Joomla les met-il automatiquement en cache en tant que caches de pages? Si j'ai besoin d'inclure du code de mise en cache pour mon composant, pouvez-vous m'indiquer la direction dans laquelle je dois aller pour inclure la mise en cache.

4
Terry Carter

D'après les tests que j'ai effectués, il semble que la mise en cache des pages ne fasse pas la distinction entre les éléments d'une présentation. Par exemple: un formulaire de recherche sur une page qui utilise des variables de session pour remplir les champs une fois la recherche effectuée. La recherche elle-même ne renvoie pas de nouvelles valeurs lorsque le formulaire est soumis, pas plus que le modèle. Je peux voir où la mise en cache du contenu statique fonctionnerait comme prévu, mais je ne pense pas que le contenu filtrable dynamique puisse fonctionner.

Peut-être qu'une future version de Joomla permettra d'ignorer certaines méthodes/fonctions dans la mise en cache, mais pour l'instant, je ne vois pas d'autre moyen de contourner ce problème.

1
Terry Carter