I am using memcache for caching in my rails app and currently I have a dev and a production environment. I would like to run the dev environment without caching so that I can debug more easily but I wanna enable the caching in production obviously. I am using github and capistrano for deployment. Without doing a check at every statement where I can potentially dig into the cache, is there any way of handling this more gracefully or globally? if env == 'dev' @post = Post.all else //get @post from cache en
on 2010-09-01 19:28
on 2010-09-02 17:29
badnaam wrote: > I am using memcache for caching in my rails app and currently I have a > dev and a production environment. > > I would like to run the dev environment without caching so that I can > debug more easily but I wanna enable the caching in production > obviously. I am using github and capistrano for deployment. > > Without doing a check at every statement where I can potentially dig > into the cache, is there any way of handling this more gracefully or > globally? > > if env == 'dev' @post = Post.all else //get @post from cache en Rails turns caching off by default in the development environment, if I remember correctly. If not, you can certainly turn it off yourself in config/environments/development.rb . Best, -- Marnen Laibow-Koser http://www.marnen.org marnen@marnen.org
on 2010-09-02 18:19
Assuming you are using standard page/fragement/action caching you can just set config.action_controller.perform_caching = false in your development environment file. If you are making direct calls to Rails.cache you can use a cache store stub in development. I just did this today for my test environment Details in my post earlier today http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/b8603c94ac08940a
on 2010-09-06 16:39
I understand how to turn caching on or off. Well let me explain.
let's say if I am using memcache and I have a post listing page that
uses the following method. Now If I want to not use caching in
development I will have to write this method without the CACHE.fetch?
So basically, I am doing a if/else in every method do check if it's
dev or prod and then either get the collection/fragment from the CACHE
or not. This seems ugly, wondering if there is a better way.
def get_all_post
CACHE.fetch("all_posts") {Post.all}
end
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.