wenfengsun

GenericObjectPool for Jedis

Posted on: April 26, 2011

jedis–https://github.com/xetorthio/jedis

是一个java client for redis,它在初始化pool的时候,实际上使用了apache commons的GenericObjectPool

默认构造方法:

        setTestWhileIdle(true);//对没有过期的池对象进行检查
        setMinEvictableIdleTimeMillis(60000);//休眠了1分钟的对象过期
        setTimeBetweenEvictionRunsMillis(30000);//每隔30秒进行一次后台对象检查
        setNumTestsPerEvictionRun(-1);//每次检查池内所有的对象

maxWait:指明若在对象池空时调用borrowObject方法的行为被设定成等待,最多等待多少毫秒。如果等待时间超过了这个数值,则会抛出一个java.util.NoSuchElementException异常。如果这个值不是正数,表示无限期等待。
testOnBorrow:设定在借出对象时是否进行有效性检查。

timeBetweenEvictionRunsMillis:设定间隔每过多少毫秒进行一次后台对象清理的行动。如果这个值不是正数,则实际上不会进行后台对象清理。

numTestsPerEvictionRun:设定在进行后台对象清理时,每次检查几个对象。如果这个值不是正数,则每次检查的对象数是检查时池内对象的总数乘以这个值的负倒数再向上取整的结果――也 就是说,如果这个值是-2(-3、-4、-5……)的话,那么每次大约检查当时池内对象总数的1/2(1/3、1/4、1/5……)左右。

minEvictableIdleTimeMillis:设定在进行后台对象清理时,视休眠时间超过了多少毫秒的对象为过期。过期的对象将被回收。如果这个值不是正数,那么对休眠时间没有特别的约束。

testWhileIdle:则设定在进行后台对象清理时,是否还对没有过期的池内对象进行有效性检查。不能通过有效性检查的对象也将被回收。

maxActive:控制在某个时间点最大能被pool分配的对象数。 当这个参数小于等于零的时候,表示无限制. 当maxActive到达后,pool就无法再分配对象了. 这个参数的默认值是8.

maxIdel:控制在任何时间池内能够保持idel状态的对象数字.当小于零时表示无限制。默认值是8.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: