文章目录
Jedis
jedis 是 redis 官方推荐的 java 客户端,目前稳定的版本是 2.9.0
JedisPool
jedisPool 是 Jedis 内部管理到 redis 的连接资源,内部的实例是 Jedis,通过连接池策略来优化对 redis 的访问。
JedisPoolConfig
JedisPoolConfig
是创建 JedisPool
的配置类,继承自 Apache
的 GenericObjectPoolConfig
GenericObjectPoolConfig 类各参数默认值和意义:
blockWhenExhausted 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true
evictionPolicyClassName 设置的逐出策略类名, 默认DefaultEvictionPolicy(当连接超过最大空闲时间,或连接数超过最大空闲连接数)
lifo 是否启用后进先出, 默认true
maxTotal 最大连接数, 默认8个(连接池能创建的最大连接数量)
maxIdle 最大空闲连接数, 默认8个(在连接 return 到 连接池时,如果空闲连接数 == maxIdle 则直接关闭连接,一般建议该值和 maxTotal 相等)
minIdle最小空闲连接数, 默认0 (该参数会保证 连接池 中在没有达到 maxTotal 时,一直会保持 minIdle 的空闲连接数,但是定时任务是否启动,由下一个参数决定)
maxWaitMillis 获取连接时的最大等待毫秒数(如果设置为阻塞时BlockWhenExhausted),如果超时就抛异常, 小于零:阻塞不确定的时间, 默认-1
timeBetweenEvictionRunsMillis 逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1
minEvictableIdleTimeMillis 逐出连接的最小空闲时间 默认1800000毫秒(30分钟)
numTestsPerEvictionRun 每次逐出检查时 逐出的最大数目 如果为负数就是 : idle.size()/abs(n), 默认3
softMinEvictableIdleTimeMillis 对象空闲多久后逐出, 当空闲时间>该值 且 空闲连接>最大空闲