First of all, I think that you will want to remove redis from the list, since it is a keystore, not a document store. Riak is also a key repository, but you can be a document repository with a library like Ripple .
In short, to model an application with a document repository, you need to find out:
. .