At a 90% hit rate your database is provisioned for 10% of your traffic. Nobody decided that — it happened gradually. Which is why 'fall back to the DB' turns a 40-second Redis blip into a database outage, and what to build instead in Spring Boot.
Running cache, queue, locks, sessions and rate limiting on a single Redis is the right call for most young systems. It also quietly builds one failure domain spanning all of them — and one of those jobs fails as silent data corruption rather than an outage.
Connection exhaustion takes down a database that isn't even busy. Here's why the arithmetic guarantees it at scale, and how connection multiplexing with ProxySQL breaks the link between application pools and database threads.