jedis的minIdle和maxIdle参数

背景

在平时我们配置jedis参数时,最小空闲连接和最大空闲连接是最常见的配置,我们一般情况下会配置成不一样的值,以便在平衡资源占用和应付偶尔的高峰流量时可以平衡,但是你知道什么情况下我们最好把他们设置成一样吗?

minIdle和maxIdle数值一样

首先对于Redis服务器来说,其QPS性能就不用说了,单机设置可以达到10w,但是他的瓶颈在于创建连接的速度,也就是它不能在短时间内处理大量的创建连接的请求,这是Redis服务器所不擅长的,所以如果在短时间内有大量的连接创建的请求,会导致redis服务器被压垮并且没法及时响应正常的qps请求。
这样看来答案就很明显了,jedis客户端需要避免短时间内大量创建jedis连接,而minIdle和maxIdle不一样就会导致瞬间流量高峰时会创建大量的连接,例如假设有200台容器,minIdle设置为5,maxIdle设置为20,那么短时间内会有大约 200 * 15 = 3000个连接创建请求,这会导致redis服务器难以应对,因为为了应付这种短时间内大量创建连接的情况,我们一般在流量峰值来临前需要首先把minIdle的值设置成和maxIdle一样,这样就不会短时间内大量创建连接了
,当然等流量高峰过后,你可以重新把minIdle和maxIdle调小,并且设置成不一样的值

彩蛋:

jedisCluster本身已经有maxAttempt重试次数了,应用方还需要自己重试吗?

你可能感兴趣的:(redis,redis)