Haven't tried this yet, but it seems stale data might be returned after save() is called ? If the cache expired on save() then the expiry time could be significantly increased thereby reducing the calls to mongodb. Cheers!