High availability and abstraction complexity are orthogonal.
Redis is a low-level concurrency primitive, and it made certain choices in dealing with CAP.
It might be single-threaded, but it can easily absorb 100,000+ requests per second.
I've built systems that handle billions of dollars of online payments flow, active-active, with six nines of uptime reliability on top of Redis. It does what it says on the tin, and it doesn't need to be everything for everybody. This is a hard domain and you're going to have to deal with different problems and tradeoffs.
If you want something higher level, there are other systems to reach for.