JedisPool的配置参数很大程度上依赖于实际应用需求、软硬件能力。以前没用过commons-pool2,JedisPool的配置参数大部分是由JedisPoolConfig的对应项来赋值的。
JedisPoolConfig参数
maxActive:控制一个pool可分配多少个jedis实例,通过pool.getResource()来获取;如果赋值为-1,则表示 不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态就成exhausted了,在JedisPoolConfig
maxIdle:控制一个pool最多有多少个状态为idle的jedis实例;
whenExhaustedAction:表示当pool中的jedis实例都被allocated完时,pool要采取的操作;默认有三种 WHEN_EXHAUSTED_FAIL(表示无jedis实例时,直接抛出NoSuchElementException)、 WHEN_EXHAUSTED_BLOCK(则表示阻塞住,或者达到maxWait时抛出JedisConnectionException)、 WHEN_EXHAUSTED_GROW(则表示新建一个jedis实例,也就说设置的maxActive无用);
maxWait:表示当borrow一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;
testOnBorrow:在borrow一个jedis实例时,是否提前进行alidate操作;如果为true,则得到的jedis实例均是可用的;
testOnReturn:在return给pool时,是否提前进行validate操作;
testWhileIdle:如果为true,表示有一个idle object evitor线程对idle object进行扫描,如果validate失败,此object会被从pool中drop掉;这一项只有在 timeBetweenEvictionRunsMillis大于0时才有意义;
timeBetweenEvictionRunsMillis:表示idle object evitor两次扫描之间要sleep的毫秒数;
numTestsPerEvictionRun:表示idle object evitor每次扫描的最多的对象数;
minEvictableIdleTimeMillis:表示一个对象至少停留在idle状态的最短时间,然后才能被idle object evitor扫描并驱逐;这一项只有在timeBetweenEvictionRunsMillis大于0时才有意义;
softMinEvictableIdleTimeMillis:在minEvictableIdleTimeMillis基础上,加入了至少 minIdle个对象已经在pool里面了。如果为-1,evicted不会根据idle time驱逐任何对象。如果minEvictableIdleTimeMillis>0,则此项设置无意义,且只有在 timeBetweenEvictionRunsMillis大于0时才有意义;
lifo:borrowObject返回对象时,是采用DEFAULT_LIFO(last in first out,即类似cache的最频繁使用队列),如果为False,则表示FIFO队列;
其中JedisPoolConfig对一些参数的默认设置如下:
testWhileIdle=true
minEvictableIdleTimeMills=60000
timeBetweenEvictionRunsMillis=30000
numTestsPerEvictionRun=-1
相关推荐
使用redis.clients.jedis.JedisPool配置jedis连接,进行数据缓存操作demo
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。
赠送jar包:jedis-2.8.0.jar; 赠送原API文档:jedis-2.8.0-javadoc.jar; 赠送源代码:jedis-2.8.0-sources.jar; 赠送Maven依赖信息文件:jedis-2.8.0.pom; 包含翻译后的API文档:jedis-2.8.0-javadoc-API文档-...
jedisPool配置1
使用Java操作Redis需要jedis-2.1.0.jar,如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar使用Java操作Redis需要jedis-2.1.0.jar,如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar
linux中安装redis和jedis及jedispool; redis安装所遇到的问题;
Redis的官方推荐Java客户端...import redis.clients.jedis.Jedis; Jedis jedis = new Jedis("localhost"); jedis.set("foo", "bar"); String value = jedis.get("foo"); jedis.close(); System.out.println(value);
jedis-2.1.0.jar+commons-pool-1.6.jar
jedis-3.2.0+commons-pool2-2.6.2,该版本的jedis可以使用bitfield 属性,低于该版本没有该属性。
Redis-x64-3.2.100 Jedis-2.9.0 pool2-2.42例子及jar.rar
redis缓存需要的jar commons-pool.jar jedis-1.5.2.jar
Jedis 3.0版本新回收资源: Jedis.close();此版本的close并不是 直接关闭jedis的连接。 注意点二:JedisPoolConfig 连接池 引用的是org.apache.commons.pool1.impl.GenericObjectPoolConfig;部分功能没有; 正确重新...
commons-pool2-2.3.jar commons-pool2.jar是一个十分常用的jar文件,commons-pool2.jar文件适用于java开发中的与连接池进行连接部分使用,如果您缺少这个jar文件马上下载commons-pool2.jar吧
jedis.auth("192.168akeiekekKKDJEikekEJkeu^&&%%$&#*($#&^$&^#$*((BNGGyjekeuh{}jejekekej:"); ping(jedis); hashBytesSave(jedis); hashBytesGet(jedis); // ListCommandsTest jedis.close();...
commons-pool-1.6.jar jedis-2.1.0.jar tomcat-redis-session-manager-1.2-tomcat-7.jar 和tomcat的context.xml配置文件。 2.7.2版包含 commons-pool2-2.4.1.jar jedis-2.7.2.jar tomcat-redis-session.jar 和...
S:切换本地redis后,配置应改成spring.redis.host = 127.0.0.1 spring.redis.port = 6379 spring.redis.password = jincong spring.redis.timeout = 2000 spring.redis.jedis.pool.max -active = 10 spring.redis....
jedis2.3---jedis2.9版本jar包,附赠commons-pool.jar包
jedis-2.1.0.jar commons-pool-1.5.4.jar
jedis-3.0.1.jar 和commons-pool2-2.4.2.jar 的jar包下载
jedis的一些比较常用的详细配置,列举的是黑马学习使用的