web-dev-qa-db-fra.com

Utilisation de la mise en cache pour un module ou un composant indépendamment

Est-il vrai que même si j'active la mise en cache de module à partir de la configuration de module, la mise en cache de module ne fonctionne pas si le plug-in de cache système n'est pas activé?

Je veux utiliser le cache par module/composant à partir de leurs paramètres, et ce, sans code, que le plug-in de cache ou le cache dans la configuration globale soit activé ou non.

5
dev-m

Oui, la mise en cache du module ne fonctionnera que si cette option est activée pour le module et si l'option de mise en cache est sélectionnée dans la configuration globale. Ceci est bien sûr en supposant que le module ait le paramètre de mise en cache ajouté à tous les modules principaux.

N'oubliez pas que l'option de mise en cache de la configuration globale est différente de celle mise en cache par le plug-in System Cache. Le plugin mettra en cache toute la page, module compris, même si l'option est désactivée pour le module.

Le seul problème avec l'ajout d'un champ de mise en cache au fichier XML de toutes les extensions tierces est bien sûr qu'il est considéré comme un piratage de base, donc à mon avis, il serait préférable d'utiliser une extension telle que JotCache

J'espère que cela t'aides

3
Lodder

comme @Lodder l'a dit, la mise en cache globale est différente du plugin de cache.

mise en cache de la configuration globale

  • conservatif - active les caches de composants/modules s'ils le prennent en charge. la sortie est mise en cache par page (essentiellement identique à J 1.5)
  • progressive - identique à 'conservative', mais utilisez un cache séparé pour chaque utilisateur/session et remplacer toute configuration de cache de module.

méfiez-vous: joomla ne met jamais rien en cache pour les utilisateurs connectés à ce niveau.

voir cette explication et ces exemples https://www.inmotionhosting.com/support/edu/joomla-25/caching/global-module-caching

plugin de cache système

  • plugin activé - active le cache de page - la sortie finale de la page envoyée au navigateur est sauvegardée et réutilisée jusqu'à son invalidation (les demandes sont traitées avec une activité joomla minimale, seules les sessions/jetons de formulaire sont mis à jour)
  • en utilisant le cache du navigateur - ajoutez un en-tête Expire pour le navigateur et définissez un horodatage jusqu'au moment où le navigateur ne devrait même plus se soucier de demander à joomla une mise à jour (aucune demande envoyée. )

Au fait, la structure du cache a beaucoup changé, passant de 1,5 à 2,5/3x à l'intérieur. Certains composants et modules ne viennent toujours pas pour l'utiliser (Virtuemart étant un PITA majeur)

2
rogerovo