jedisPool的配置:各个连接池,不论是http,jedis,mysql都应该是相似的
maxActive 最多池内连接数 ,当whenExhaustedAction=GROW时就会按需增加,这个最大值的设置也就无效了
总体连接的数量稳定在maxIdle。但活动连接(在使用中的连接)可能数量上瞬间超过maxIdle,但永远不会超过maxActive,如果maxActive>maxIdle ,用完也会立马关闭,使得总体连接继续稳定在maxIdle
maxIdle 池内最多有多少个空闲连接 设置maxIdle =maxActive ,否则连接数一旦大于maxIdle,刚建立就要被销毁了
高负载系统的maxIdle值可以设置为与maxActive相同或设置为-1(-1表示不限制),让连接数量在minIdle与maxIdle间缓冲慢速波动
连接数会在 0 - minIdle - maxIdle - maxActive 之间变化
maxWait 当从池中取出(borrow)一个连接时,最多等待几秒,如何超过这个值,就抛错连接失败
testOnBorrow 每次从池中取连接时是否检查连接可用,建议为false,否则性能就差
testOnReturn 把连接放回池中时是否检查连接可用性
testWhileIdle 是否开启“空闲连接回收器”对空闲连接的扫描,如果扫描,且扫到某个连接空闲达到一定时间(minEvictableIdleTimeMillis)就drop掉这个连接
timeBetweenEvictionRunsMillis “空闲连接回收器”多久扫描间隔,
minIdle值,如果连接数少于这个值,空闲连接回收器” 就会增加连接数
配置timeBetweenEvictionRunsMillis=“时间”,DBCP会启用独立的工作线程定时检查
minEvictableIdleTimeMillis 空闲连接存在空闲的最短时间,达到这个时间了扫描到它就要drop了
numTestsPerEvictionRun “空闲连接回收器”每次扫描几个连接
validationQuery = "SELECT 1" 验证连接是否可用