redis连接池问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

redis连接池问题

2019-04-09 12:38:54 3434 1

比如就一个服务A,部署在服务器1上。
redis部署在服务器2上。

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

 redis连接池,无非就是高并发的时候可以支持多个redis连接实例去连接redis,但是redis本身就是单线程的,我多个连接同时去连redis(不还是得排队么),然后执行指令,和我单个全局连接直接去一个个执行redis指令,感觉应该差不多性能吧?
 而且如果是全局单个redis连接的话,每次请求过来我还省了连接这个操作,不是又省了点时间么?
取消 提交回答
全部回答(1)
  • 李博 bluemind
    2019-07-17 23:32:55

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

    0 0
相关问答

1

回答

求 java Redis连接池工具类

2016-06-02 17:10:47 4063浏览量 回答数 1

1

回答

Redis集群版 – 双副本特点是什么?

2021-12-24 08:55:16 141浏览量 回答数 1

1

回答

Redis集群版如何直观理解?

2021-12-24 08:53:47 98浏览量 回答数 1

1

回答

Redis集群版的使用场景有哪些?

2021-12-24 08:54:10 270浏览量 回答数 1

1

回答

Redis集群版 – 双副本如何直观理解?

2021-12-24 08:54:33 122浏览量 回答数 1

1

回答

Redis集群架构有哪些?

2021-12-23 20:10:04 111浏览量 回答数 1

1

回答

Redis集群架构分为哪几大类?

2021-12-23 20:11:25 133浏览量 回答数 1

1

回答

Redis集群版如何理解?

2021-12-23 20:13:26 178浏览量 回答数 1

1

回答

我已有一个基于普通内存的Redis应用集群,想将业务迁移到持久内存型实例我应该怎么做?需要注意啥?

2021-12-19 12:47:06 333浏览量 回答数 1

1

回答

Redis的集群元数据的维护有那些方式?

2021-12-12 15:58:16 328浏览量 回答数 1
+关注
李博 bluemind
云栖社区Java、Redis、MongoDB运营小编,有意合作请联系钉钉:15810436147
文章
问答
问答排行榜
最热
最新
相关电子书
更多
高并发分布式缓存Redis6.0
立即下载
Redis多线程性能优化
立即下载
阿里云Redis——读写分离
立即下载