We also find Redis perfect in a whole range of scenarios.<p>I like Redis because it's simple enough that I feel I easily understand what's going on (i.e. performance is predictable), yet powerful enough to do pretty much everything I want.<p>From a productivity point of view, the only scenarios that come to mind in which I've found myself thinking a relation database would be better are:<p>1. Indices: In scenarios where you could use an index with a relational database you need to create and manage this by hand in Redis. This takes time, and increases application complexity.<p>2. Transactions: They are far less flexible in Redis. Effectively you must get/WATCH all your data before entering a MULTI/EXEC block for setting. I've found organizing code for this can sometimes be very constraining. Of course on the upside, Redis is forcing you to be efficient.