rtomayko/rack-cache — Issue #48: MongoDB EntityStore
Author: jgwmaxwell
Created: 2012-01-18 15:46:01+00:00
State: open

Hi,

I've updated the EntityStore side of Rack::Cache to support a MongoDB entitystore. This strikes me as ideal for deployment scenarios such as Heroku, when you want the benefit of having a central cache store but don't want the cost of having to pay for large Memcached instances. MongoDB is also persistent, keeping the cache warm through resets/failure etc.

I haven't changed any of the methods/interface/api of the existing features, and using it is as simple as passing a:

:entitystore => ENV['MONGO_URI']

to Rack::Cache, or you can pass a Mongo::DB object directly in. I've updated all the tests, and it passes. I didn't implement the MetaStore in Mongo, as it seemed less important due to it's smaller size.

Hope you like it, I'd be delighted to get any feedback on it as well!

Thanks,

John