4 votes

La mise en cache des fragments de Rails 3 ne fait rien

J'essaie de faire fonctionner la mise en cache des fragments dans Rails 3.0.9.

J'ai défini cela dans development.rb :

config.action_controller.perform_caching = true

Et redémarré le serveur (webrick). Puis j'ai mis ceci dans ma vue :

<% cache("tags_json") do %>
    [Content to be cached]
<% end %>

Et quand je recharge la page, je ne vois rien dans le journal concernant la mise en cache. Rechargez la page à nouveau, mêmes résultats, aucun cache n'a été écrit ou lu. De même, aucun fichier de cache n'a été créé dans l'arborescence des fichiers, pour autant que je puisse en juger.

Je suis novice en matière de mise en cache et je suis donc certain d'avoir oublié de configurer quelque chose. Toute aide est appréciée, merci !

4voto

Kundan Pandit Points 284

Outre la configuration de la performance du cache de l'ActionController, vous devez également définir le magasin de cache dans la configuration générale. Mettez

config.cache_store = xyz,abc

cache_store configure le magasin de cache à utiliser pour la mise en cache de Rails. Les options comprennent l'un des symboles suivants :memory_store, :file_store, :mem_cache_store, ou un objet qui implémente l'API de cache. .

La valeur par défaut est :file_store si le répertoire tmp/cache existe, et :memory_store sinon. Je recommande d'utiliser dalli stocker en conjonction avec le client memcached.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X