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
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 .
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
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.