分布式缓存服务 DCS-优化Jedis连接池:JedisPool参数说明
JedisPool参数说明
Jedis连接是连接池中JedisPool管理的资源,JedisPool保证资源在一个可控范围内,并保障线程安全。使用合理的GenericObjectPoolConfig配置能够提升Redis的服务性能,降低资源开销。表1及表2提供了一些重要参数的说明及配置建议。
参数 |
说明 |
默认值 |
建议 |
---|---|---|---|
maxTotal |
资源池中的最大连接数。 |
8 |
请参见关键参数配置建议。 |
maxIdle |
资源池允许的最大空闲连接数。 |
8 |
请参见关键参数配置建议。 |
minIdle |
资源池允许的最小空闲连接数。 |
0 |
请参见关键参数配置建议。 |
blockWhenExhausted |
当资源池用尽后,调用者是否要等待。
只有当值为true时,设置的maxWaitMillis才会生效。 |
true |
建议使用默认值。 |
maxWaitMillis |
当资源池连接用尽后,调用者的最大等待时间(单位:毫秒)。 值为-1表示一直等待。 |
-1 |
建议设置具体的最大等待时间。 |
testOnBorrow |
向资源池借用连接时是否做连接有效性检测(ping)。检测到的无效连接将会被移除。
|
false |
业务量很大时候建议设置为false,减少一次ping的开销。 |
testOnReturn |
向资源池归还连接时是否做连接有效性检测(ping)。检测到无效连接将会被移除。
|
false |
业务量很大时候建议设置为false,减少一次ping的开销。 |
jmxEnabled |
是否开启JMX监控。
|
true |
建议开启,请注意应用本身也需要开启。 |
空闲Jedis对象检测由表2中的参数组合完成。
名称 |
说明 |
默认值 |
建议 |
---|---|---|---|
testWhileIdle |
是否在空闲资源监测时通过ping命令监测连接有效性,无效连接将被销毁。 |
false |
true |
timeBetweenEvictionRunsMillis |
空闲资源的检测周期(单位:毫秒)。 值为-1表示不检测。 |
-1 |
建议设置,周期自行选择,也可以默认也可以使用下方JedisPoolConfig 中的配置。 |
minEvictableIdleTimeMillis |
资源池中资源的最小空闲时间(单位:毫秒),达到此值后空闲资源将被移除。 |
1,800,000(即30分钟) |
可根据自身业务决定,一般默认值即可,也可以考虑使用下方JeidsPoolConfig中的配置。 |
numTestsPerEvictionRun |
做空闲资源检测时,每次检测资源的个数。 |
3 |
可根据自身应用连接数进行微调,设置为-1时,表示对所有连接做空闲监测。 |
为了方便使用,Jedis提供了JedisPoolConfig,它继承了GenericObjectPoolConfig在空闲检测上的一些设置。
public class JedisPoolConfig extends GenericObjectPoolConfig { public JedisPoolConfig() { setTestWhileIdle(true); setMinEvictableIdleTimeMillis(60000); setTimeBetweenEvictionRunsMillis(30000); setNumTestsPerEvictionRun(-1); }}
可以在org.apache.commons.pool2.impl.BaseObjectPoolConfig中查看全部默认值。
- 分布式缓存Redis实战_Redis技术实战_分布式缓存-华为云
- 分布式缓存服务Redis优势_分布式缓存服务Redis_华为云
- 分布式缓存服务Redis的安全能力_分布式缓存服务Redis的数据安全性
- GaussDB文档_GaussDB数据库文档_高斯数据库文档_华为云
- GaussDB数据库设计_GaussDB教程_高斯数据库设计
- 免费建站系统哪个好_免费建站优化的方法是什么
- GaussDB怎么样_华为云数据库_高斯数据库怎么样-华为云
- 文档数据库服务DDS性能调优_MongoDB性能调优_华为云
- 分布式缓存Redis稳定性怎么样_分布式缓存Redis_企业版-华为云
- GaussDB数据库优点_GaussDB怎么样_华为高斯数据库优点