memcache in prod vs dev

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

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,

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

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