People often say that using Redis as a traditional database is an unforgivable mistake. Of course, many people disagree and live their happy lives with Redis as their main datastore.
It is true that Redis is not the solution to every problem, but in those times when all you have are nails, you can be sure a hammer is the right tool.
The legendary Twitter clone example by Redis creator Salvatore Sanfilippo got many of us hooked. Abstracting some of the usage patterns outlined in that influential article happened almost instantly, and the introduction some time later of the hash datatype validated the approach of treating groups of attributes as conceptual units.
What does it mean to use Redis as a traditional database? If it means to save all your data and expect to retrieve it later in new and creative ways, then we have to agree that better tools are available. It is one of Redis tradeoffs: you have to think in advance how you will want to get your data back. Another tradeoff has to do with space: Redis is not a good fit for Big Data. It’s not even a good fit for Medium Data. You are in charge of making good use of the available memory, and there’s still no elegant way to work around that limitation.
As with any tool, the features and constraints will shape both adoption and usage patterns. If you can deal with those limitations, there’s nothing stopping you from living a happy life with Redis as your main datastore.