Jedis之JedisPoolConfig

JedisPoolConfig继承关系

JedisPoolConfig需要依赖Apache common pool,其中pool配置依赖 common pool中的BaseObjectPoolConfig,该类中定义了相关属性的缺省值,在JedisPoolConfig中定义了相关的属性。属性值如下

参数

setTestWhileIdle();

true

    setMinEvictableIdleTimeMillis();

60000

    setTimeBetweenEvictionRunsMillis();

30000

    setNumTestsPerEvictionRun();

-1

 

 

                              Jedispoolconfig继承关系图

JedisPoolConfig参数一览

参数

说明

setBlockWhenExhausted(boolean blockWhenExhausted)

当池中的资源耗尽时是否进行阻塞,设置false直接报错,true表示会一直等待,直到有可用资源

setEvictionPolicyClassName(String evictionPolicyClassName)

设置逐出策略,默认策略为

"org.apache.commons.pool2.impl.DefaultEvictionPolicy"

 

setFairness(boolean fairness)

当从池中获取资源或者将资源还回池中时 是否使用java.util.concurrent.locks.ReentrantLock.ReentrantLock 的公平锁机制,默认为false

setJmxEnabled

设置是否启用JMX,默认true

setJmxNameBase(String jmxNameBase)

设置JMX基础名

setJmxNamePrefix(String jmxNamePrefix)

设置JMX前缀名,默认值pool

setLifo(boolean lifo)

设置连接对象是否后进先出,默认true

setMaxIdle(int maxIdle)

设置最大空闲连接数,默认为8

setMaxTotal(int maxTotal)

设置最大连接数,默认18

setMaxWaitMillis(long maxWaitMillis)

获取连接时的最大等待毫秒数(如果设置为阻塞时BlockWhenExhausted),如果超时就抛异常小于零:阻塞不确定的时间,  默认-1

setMinEvictableIdleTimeMillis(long minEvictableIdleTimeMillis)

设置连接最小的逐出间隔时间,默认1800000毫秒

setMinIdle(int minIdle)

设置无连接时池中最小的连接个数,默认连接0

setNumTestsPerEvictionRun(int numTestsPerEvictionRun)

每次逐出检查时,逐出连接的个数

setSoftMinEvictableIdleTimeMillis(softMinEvictableIdleTimeMillis);

对象空闲多久后逐出当空闲时间>该值  空闲连接>最大空闲数 时直接逐出,不再根据MinEvictableIdleTimeMillis判断

setTestOnBorrow(boolean testOnBorrow)

从池中获取连接时是否测试连接的有效性,默认false

setTestOnCreate(boolean testOnCreate)

在连接对象创建时测试连接对象的有效性,默认false

setTestOnReturn(boolean testOnReturn)

在连接对象返回时,是否测试对象的有效性,默认false

setTestWhileIdle(boolean testWhileIdle)

在连接池空闲时是否测试连接对象的有效性,默认false

setTimeBetweenEvictionRunsMillis(

long timeBetweenEvictionRunsMillis)

设置连接对象有效性扫描间隔,设置为-1,则不运行逐出线程

posted @ 2018-09-21 10:42  爱吃猫的鱼z  阅读(6995)  评论(0编辑  收藏  举报