Hello, Personnellement, je suis resté à l'ancien système de caching lors de la migration vers rails-4, en ajoutant les gems. Le nouveau système est beaucoup plus simple à utiliser mais il me semble un peu trop simpliste: je n'ai pas forcément envie d'associer une fragment caché à une ressource, et je veux pouvoir stocker de la logique complexe d'invalidation (ce qui a naturellement sa place dans un sweeper). Ça reste un bon système pour encourager ceux qui ne cachent pas déjà leur contenu à le faire, cela dit.
Il y a également quelque chose qui m'inquiète, avec le russian doll caching : il est pensé pour memcache. J'ai pris l'habitude d'utiliser redis (notamment parce que j'utilise resque), et ce passage par dhh a retenu mon attention[1] : 4. This generates a lot of cache garbage. Once we’ve updated the todo, the old cache will never get read again. The beauty of that system is that you just don’t care. Memcached will automatically evict the oldest keys first when it runs out of space. It can do this because it keeps track of when everything was last read. Cela semble donc indiquer que rails ne cherche jamais a supprimer les clefs, il compte seulement sur memcache. Or, si un tel système de suppression des clefs les moins récemment lues (LRU) lorsqu'il n'y a plus de place existe bien sur redis, il a de sévères limites[2] : In order to save memory Redis just adds a 22 bits field to every object for LRU. When we need to remove a key we sample N keys, and remove the one that was idle for longer time. For default three keys are sampled, that is a reasonable approximation of LRU in the long run, but you can get more precision at the cost of some more CPU time changing the number of keys to sample. ce n'est pas la plus vieille clef dans toute la db qui est supprimée, mais redis prend un set de N items au hasard (3, par défaut) et supprime le plus vieux. J'ai peur que cela ne cause des problèmes, dont les symptômes seraient que des pages supposées être cachée soit regénérées souvent, lorsqu'on se promène sur un site. Quelqu'un a des retours là dessus ? Le net est incroyablement silencieux à propos du russian doll caching vs redis. [1] https://37signals.com/svn/posts/3113-how-key-based-cache-expiration-works [2] http://oldblog.antirez.com/post/redis-as-LRU-cache.html On Monday, September 2, 2013 11:10:48 AM UTC+2, gdurelle wrote: > > Hello, > > Encore un pti billet sur Rails 4 :) > > http://gdurelle.com/post/60058329677/le-russian-doll-caching-en-rails-4 > > J'aimerai bien savoir si certains d'entre vous on eu les même problèmes, > et si vous les avez résolus autrement ? > > Chuuussss > -- -- Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@googlegroups.com Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscr...@googlegroups.com --- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Railsfrance. Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com. Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .