Ignorando l'intero dibattito NoSQL vs SQL, penso che l'approccio migliore sia combinarli. In altre parole, usa MySQL per alcune parti del sistema (ricerche complesse, transazioni) e redis per altre (prestazioni, contatori, ecc.).
Secondo la mia esperienza, i problemi di prestazioni relativi alla scalabilità (molti utenti...) alla fine ti costringono ad aggiungere una sorta di cache per rimuovere il carico dal server MySQL e redis/memcached è molto bravo in questo.