if the bottle neck is the number of connections, is it better to scale redis by sharding or by replication?
Redis Cluster could be considered as an OOTB solution for the Scalability requirements. There is another interesting open source library known as Redis Shard for sharding implementations on Redis. Please find the GitHub repository here.