Nous utilisons des modèles Smarty sur notre site LAMP, mais ma question s'applique également à un site utilisant Memcached (que nous envisageons de mettre en ligne). De nombreuses pages de notre site généré par les utilisateurs ont des vues différentes selon la personne qui les regarde. Par exemple, une liste de commentaires où vos propres commentaires sont mis en évidence. Il faudrait qu'il y ait un cache-id unique pour chaque utilisateur connecté pour cette vue spécifique. Ma question est la suivante : dans ce scénario, n'utiliseriez-vous même pas le cache pour ces vues ? Ou bien les frais de création/utilisation du cache (que ce soit pour smarty ou pour memcached) sont-ils suffisamment faibles pour que vous puissiez en tirer un avantage ?
Réponses
Trop de publicités?À moins que des utilisateurs individuels ne demandent les pages encore et encore, il n'y a aucun intérêt à mettre en cache ce genre de choses, et je m'attends à ce que les frais généraux de la mise en cache dépassent largement les avantages en termes de performances, simplement parce que le taux de réussite du cache sera faible.
Il est préférable d'envisager la mise en cache de fragments de votre site qui ne dépendent pas de l'utilisateur individuel, ou de fragments qui seront les mêmes pour un grand nombre d'impressions de pages (par exemple, un contenu identique pour un grand sous-ensemble de vos utilisateurs).
Par exemple, sur cette page, vous pourriez vouloir mettre en cache la liste des questions liées ou les informations sur les balises, mais il n'y a probablement pas de raison de mettre en cache la barre supérieure avec les informations de réputation de manière trop agressive, car elle sera demandée relativement peu souvent.