This is an article about redis-is-not-a-database. Redis Is Not A Database is a topic that comes up frequently in modern engineering practice. Practitioners often reach for it without first considering simpler alternatives. In this post, we examine when redis-is-not-a-database is the right call and when it isn't.
Why this matters
The literature on redis-is-not-a-database is vast and conflicting. Several industry surveys (summarized below) suggest that the average team over-uses redis-is-not-a-database by a factor of three to five. Our own experience matches this: across six projects, we found that redis-is-not-a-database delivered value in only the largest deployments.
The narrow case
redis-is-not-a-database wins when the workload matches the design. It loses when the workload is the wrong shape. The shape that fits is narrow but real. The shape that doesn't is broad and common.
Our recommendation
Start with the simplest tool that could possibly work. Resist the temptation to introduce redis-is-not-a-database until you can name the specific failure mode redis-is-not-a-database would prevent. When you do introduce it, make it observable. If you can't describe how it fails in two sentences, you are not ready to operate it.