redis连接池问题
比如就一个服务A，部署在服务器1上。
redis部署在服务器2上。

为什么还会需要redis连接池这个东西？我在服务A上维护一个全局变量的redis连接实例，前端请求过来我都是用这个连接实例去执行redis指令，不也可以吗？

 redis连接池，无非就是高并发的时候可以支持多个redis连接实例去连接redis，但是redis本身就是单线程的，我多个连接同时去连redis（不还是得排队么），然后执行指令，和我单个全局连接直接去一个个执行redis指令，感觉应该差不多性能吧？

而且如果是全局单个redis连接的话，每次请求过来我还省了连接这个操作，不是又省了点时间么？
您的说法并不正确。

1. redis本身是单线程的没有问题，但这并不表示，使用连接池不能提供效率，只是不能通过多线程提高效率而已。
2. redis连接池较单链接的效能提高很多。要了解为什么redis连接池能够这么大幅的提高性能，就要了解单链接的性能瓶颈在哪。
单线程并 不是redis性能瓶颈。对redis而言，有两个性能所在（一个是计算性能，也就是所谓的执行命令速度，另一个是网络通信性能）。很显然，redis较执行效率而言，通信才是其瓶颈。据我所知（不一定正确，但也相差无几），redis执行命令大概是10w/s，因此，对于客户端 将若干条（若干条显然不会很大）命令传输给redis服务，命令执行时间和通信时间比等于0.(假设以1s举例，几条命令传输时间为40ms, 而每秒可执行10w个命令，即n/10w 秒就可执行完毕，等待下一个命令到来的时间间隙(约39ms多)redis没有任何命令执行)，这就造成了redis闲置。
综上，要提高redis的性能，可以降低单位时间内的通信成本。那么连接池就是一个不错的选择。
客户端使用连接池+多线程方案，使得使得redis服务闲置时间降低，极大地提高了服务效率。