I think the stack you are asking for is certainly a very good solution, and one that has been pretty fought for high-performance sites. Trello (created by the same people who created this site) uses a similar architecture, as well as Craigslist.
Trello Tech Stack Writeup
Craigslist also uses this
Redis is fast and has an excellent pub / add-on mechanism in addition to the usual functions like invalidation, which makes it an excellent cache for most. Mongo is a db that I am very familiar with and believe that it is good for all types of data warehouses, and is also a reliable business db that scales well, protects data integrity and checks a bunch of tags in the checklist of SLA shutters
I think this is a great combination, but actually the question should be, I even need this. For your load, I think Mongo itself could handle this pretty well (and ensure data integrity), and also if you really want to be able to run it on a server with enough memory to make sure your dataset fits into memory (denormalization and good circuit design are key), Foursquare runs exclusively on Mongo in memory.
So think about whether this is necessary, but remember that always always wins. Redis / Mongo is super powerful, but working with two data warehouses will also require a lot more work.
Thanks Prasith
source share