Om jag ignorerar hela debatten om NoSQL vs SQL, tror jag att det bästa sättet är att kombinera dem. Med andra ord, använd MySQL för vissa delar av systemet (komplexa uppslagningar, transaktioner) och redis för andra (prestanda, räknare etc).
Enligt min erfarenhet tvingar prestandaproblem relaterade till skalbarhet (många användare...) dig så småningom att lägga till någon form av cache för att ta bort belastning från MySQL-servern och redis/memcached är mycket bra på det.