一、使用方法
<dependency>
<groupid>redis.clients</groupid>
<artifactid>jedis</artifactid>
<version>x.x.x</version>
</dependency>
二、参数说明
> 在当前环境下,Jedis连接就是资源,JedisPool管理的就是Jedis连接。JedisPool保证资源在一个可控范围内,并且提供了线程安全。
1. 资源设置和使用
参数名 | 含义 | 默认值 | 使用建议 |
---|---|---|---|
maxTotal | 资源池中最大连接数 | 8 | |
maxIdle | 资源池允许最大空闲的连接数 | 8 | |
minIdle | 资源池确保最少空闲的连接数 | 0 | |
blockWhenExhausted | 当资源池用尽后,调用者是否要等待。<br>只有当为true时,下面的maxWaitMillis才会生效 | true | |
maxWaitMillis | 当资源池连接用尽后,调用者的最大等待时间(单位为毫秒) | -1:表示永不超时 | 不建议使用默认值 |
testOnBorrow | 向资源池借用连接时是否做连接有效性检测(ping),无效连接会被移除 | false | 业务量很大时候建议设置为false(多一次ping的开销)。 |
testOnReturn | 向资源池归还连接时是否做连接有效性检测(ping),无效连接会被移除 | false | 业务量很大时候建议设置为false(多一次ping的开销)。 |
jmxEnabled | 是否开启jmx监控,可用于监控 | true | 建议开启,但应用本身也要开启 |
2.空闲资源监测
> 空闲Jedis对象检测,下面四个参数组合来完成,testWhileIdle是该功能的开关。
参数名 | 含义 | 默认值 | 使用建议 |
---|---|---|---|
testWhileIdle | 是否开启空闲资源监测 | false | true |
timeBetweenEvictionRunsMillis | 空闲资源的检测周期(单位为毫秒) | -1:不检测 | 建议设置,周期自行选择,也可以默认也可以使用下面JedisPoolConfig中的配置 |
minEvictableIdleTimeMillis | 资源池中资源最小空闲时间(单位为毫秒),达到此值后空闲资源将被移除 | 30分钟 | 可根据自身业务决定,大部分默认值即可,也可以考虑使用下面JeidsPoolConfig中的配置 |
numTestsPerEvictionRun | 做空闲资源检测时,每次的采样数 | 3 | 可根据自身应用连接数进行微调,如果设置为-1,就是对所有连接做空闲监测 |