2010-07-16 4 views
5

Ma page d'accueil est sensiblement la même pour tous les utilisateurs, ce qui en fait un candidat pour la mise en cache des pages. Cependant, il y a deux ou trois choses qui sont spécifiques à l'utilisateur. Par exemple, il y a un élément de nav qui est seulement montré pour les utilisateurs connectés et il y a un lien comme la déconnexion, mon profil etc., généré pour des utilisateurs spécifiques.cache de page dans les rails

Dois-je utiliser la mise en cache de fragments à la place? ou devrais-je utiliser la mise en cache de page et intégrer la mise en cache de fragments pour ces éléments spécifiques? ou de quelles autres façons cela peut-il être accompli?

En outre, la barre de navigation est générée dans un plugin (simple-nav), comment puis-je contrôler ce qui est généré à l'intérieur du plugin en ce qui concerne la mise en cache?

Merci

Répondre

1

Dans cette situation, vous êtes en grande partie limité à la mise en cache de fragments.

Pour un plugin, vous devrez probablement jeter un coup d'oeil à la source afin de faire un appel sur la façon dont la mise en cache peut être gérée. Si le plugin génère le nav en tant que contenu que vous insérez dans un modèle, vous pouvez mettre en cache ce fragment. En fonction de votre audience, vous pourriez être en mesure de transférer les éléments non mis en cache vers JS. Vous pouvez mettre en cache la page entière, puis utiliser JS pour retourner les liens de connexion/déconnexion. Vraiment à peine vaut la peine.

Comme pour toute optimisation des performances. Avez-vous mesuré les performances de votre système et les mesures collectées?

+0

merci! juste en commençant par le réglage de perf. Quels seraient les outils/pratiques que vous recommanderiez? – badnaam