Jedis连接池优化 参数 说明 默认值 建议 maxTotal 连接池的最大连接数 8 参考下面的参数设置建议 maxIdle 连接池的最大空闲连接数 8 参考下面的参数设置建议 minIdle 连接池确保的最少空闲连接,不足的会新建连接 0 参考下面的参数设置建议 blockWhenExhausted 当连接池的连接用尽后,获取新连接是否会阻塞等待。 true: 会阻塞直到获取新连接或maxWaitMillis时间到了, 抛出异常. false: 会直接抛出异常 true 建议使用默认值 maxWaitMillis 当连接池的连接用尽后,获取连接的最大等待时间(单位毫秒),1表示一直阻塞 1 建议设置一个合理的超时时间,避免出现当连接池用尽后,应用阻塞不响应的情况 testOnBorrow 每次向连接池获取连接时是否做连接有效性检测(发送PING请求)。无效连接会被释放 false 建议使用默认值。设为true相当于在每个命令执行完前先发一个PING命令,对高并发请求大应用的性能有影响。 对于业务可用性要求比较高的场景,可以设为true,可以保证连接有效的。 testOnReturn 每次向连接池归还连接时是否做连接有效性检测(发送PING请求),无效连接会被释放 false 建议使用默认值。设为true相当于在每个命令执行完后再发一个PING命令,对高并发请求大应用的性能有影响。 lifo 连接池管理连接的方式是否使用LIFO方式 true使用LIFO(后进先出)方式 false使用FIFO(先进先出)方式 true 建议使用默认值。 fairness 并发获取连接时,是否按并发的先后顺序从连接池获取 false 建议使用默认值。 false的情况,性能更佳a jmxEnabled 是否开启jmx监控 true 建议使用默认值,同时应用也需要开启 testWhileIdle 是否检测空闲连接的有效性,无效连接会被释放 只在timeBetweenEvictionRunsMillis > 0时有效 false 建议使用true。也可使用JedisPoolConfig。 timeBetweenEvictionRunsMillis 空闲连接的检测周期(单位毫秒),1表示不开启空闲连接检测 1 建议建议设置,周期自行选择。也可使用JedisPoolConfig minEvictableIdleTimeMillis 最小空闲时间(单位毫秒)。空闲连接检测时,如果连接在最小空闲时间内都没有被获取使用,则会被释放。1表示不释放, 只在timeBetweenEvictionRunsMillis > 0有效 1800000(30分钟) 根据业务决定,一般使用默认值即可。也可使用JedisPoolConfig的配置 numTestsPerEvictionRun 检测空闲连接时,每次检测的连接数,如果为负数n,则表示检测1/n个连接 3 可根据业务需求设置。