Forum: Rails France Cache

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
F89858a824f13abaa12a354b6926cad8?d=identicon&s=25 Julien Biard (Guest)
on 2007-04-17 14:41
(Received via mailing list)
Bonjour,


Je souhaiterais mettre en place un cache de page. Dans l'idéal, je
voudrais que la page d'accueil qui liste un ensemble d'articles soit
mise en cache. Le problème est que l'application en question gère
plusieurs URL et que le contenu en dépend. Aussi, il faudrait mettre en
cache autant de pages en cache que d'URL. Pensez-vous que cela soit
possible avec le perform_caching de ActionController ?


Je reste ouvert à toute suggestion,


Merci d'avance,


Julien
9713dd2ed86923b44c78108a2a83f012?d=identicon&s=25 Renaud Morvan (Guest)
on 2007-04-17 16:45
(Received via mailing list)
Le 17 avr. 07 à 14:39, Julien Biard a écrit :

> Bonjour,
>
>
> Je souhaiterais mettre en place un cache de page. Dans l'idéal, je
> voudrais que la page d'accueil qui liste un ensemble d'articles
> soit mise en cache. Le problème est que l'application en question
> gère plusieurs URL et que le contenu en dépend. Aussi, il faudrait
> mettre en cache autant de pages en cache que d'URL. Pensez-vous que
> cela soit possible avec le perform_caching de ActionController ?
>

Bonjour,

Out of the box le cache statique rails n'est simple qu'avec des urls
sans paramètre dynamique.

La raison est simple, pour être ultra performant le cache statique
doit bypasser rails, et donc ce qui se passe au niveau du frontend
web (quand il est bien configuré)  c'est que lorsqu'une url est
demandé, le serveur web vérifie qu'un fichier correspondant est ou
non sur le disque (exemple pour site.com/mon_action/mon_param il y a
un check sur le fichier public/mon_action/mon_param.html).

Résultat si tu veux utiliser le cache rails sans modification il faut
des "url propres". C'est à dire remplacer site.com/mon_action/
mon_param?param1='toto'&param2='tata' par site.com/mon_action/
mon_param/toto/tata ou avec un peu plus de travail site.com/
mon_action/mon_param/with_toto_and_tata ( site.com/mon_action/
mon_param/with_toto_and_tata ).

Au final tu auras un fichier en cache par url, et il faudra bien
faire attention dans les sweepers d'effacer l'ensemble de la
collection des caches correspondant aux diverses options de
visualisation (en gros le répertoire mon_action/mon_param + le
fichier mon_action/mon_param.html). Evidemment ca n'a d'intérêt que
si la trafic arrive sur un nombre limité de paramètre.

Renaud_______________________________________________
Railsfrance mailing list
Railsfrance@rubyonrails.fr
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance
F89858a824f13abaa12a354b6926cad8?d=identicon&s=25 Julien Biard (Guest)
on 2007-04-18 09:34
(Received via mailing list)
Merci Renaud pour ta réponse.

Penses-tu qu'il soit possible d'avoir des pages en cache avec des urls
comme celle-ci ?

site1.net/
site2.net/
site3.net/

sachant qu'il s'agit à chaque fois su même controlleur et de la même action.

Julien
9713dd2ed86923b44c78108a2a83f012?d=identicon&s=25 Renaud Morvan (Guest)
on 2007-04-18 11:55
(Received via mailing list)
Le 18 avr. 07 à 09:32, Julien Biard a écrit :

> Merci Renaud pour ta réponse.
>
> Penses-tu qu'il soit possible d'avoir des pages en cache avec des
> urls comme celle-ci ?
>
> site1.net/
> site2.net/
> site3.net/

Oui je le fais, tu as deux possibilités qui dépendent de ton
implémentation:
- Si tu check le domaine dans un prepend before filter et dans ce cas
il te faut un vhost par domaine et ca demande un peu de config sur le
serveur web et de modifier le rep de cache rails
- Soit tu utilises les routes de facon un peu maline pour avoir ton
domaine en temps que params et dans ce cas c'est built-in mais ca
demande de tweaker le routing et les helper qui lui sont lié

J'imagine que tu es dans la première situation alors il te faut
plonger dans la config de ton serveur web afin qu'il check les pages
statics dans un répertoire dépendant du hostname. C'est plus ou moins
facile dépendant de ton frontend web. Petite remarque dans rails la
config du répertoire de cache n'est pas thread safe donc attention.

Renaud _______________________________________________
Railsfrance mailing list
Railsfrance@rubyonrails.fr
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance
This topic is locked and can not be replied to.