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!
Added support for MongoDB, fully tested
didn't mean to check in the lock
Uggh, sorry @jgwmaxwell. I still haven't had a chance to look over this diff. It's on my list. Anything to report since submitting the pull request? Are you using this store anywhere today?
Hi, sorry, been ill for a while and off the computer.
Yeah, it's in use on http://cambelt.co to cache the images the site creates, not been high traffic, but it is working well and hasn't missed a beat there. The other two places I am using it are on Intranets, and thus not postable.
It just gets on with it the way you'd expect - seems to be working fine to me?
Hi, @rtomayko. Are you going to merge it? It seems pretty nice!
closing since nobody needs that anymore ...