redis - JedisPoolConfig的一般配置

<beanid="jedisConfig"class="redis.clients.jedis.JedisPoolConfig">

<!-- 说明一个pool可以有多少个Jedis实例 -->

<propertyname="maxActive"value="10" />

<!-- 最大Idle-->

//redis的使用,会涉及到包的版本的使用,这里使用的版本为 jedis2.1.0及Commons-pool-1.6


<propertyname="maxIdle"value="5" />

<!-- 最小Idle -->

<propertyname="minIdle"value="1" />

<!-- 获得一个jedis实例的时候是否检查连接可用性(ping()) -->

<propertyname="testOnBorrow"value="true" />

<!-- return 一个jedis实例给pool时,是否检查连接可用性(ping()) -->

<propertyname="testOnReturn"value="true" />

<!-- idle状态监测用异步线程evict进行检查, -->

<propertyname="testWhileIdle"value="true" />

<!-- 一次最多evict的pool里的jedis实例个数 -->

<propertyname="numTestsPerEvictionRun"value="10" />

<!-- test idle 线程的时间间隔 -->

<propertyname="timeBetweenEvictionRunsMillis"value="60000" />

<!--最大等待wait时间--><propertyname="maxWait"value="3000" />

<propertyname="whenExhaustedAction"value="" />

//WHEN_EXHAUSTED_FAIL = 0; 直接抛出异常throw new NoSuchElementException("Pool exhausted");

//WHEN_EXHAUSTED_BLOCK = 1;borrowObject()将会阻塞,直到有可用新的或者空闲的object为止,或者如果配置了maxWait, //如果请求阻塞超时,将抛出NoSuchElementException.如果maxWait为负数,请求将会无限制的阻 //塞下去,默认配置。 //WHEN_EXHAUSTED_GROW = 2;borrowObject()将会继续创建新的对象,并返回,因此,pool维护的对像数将超出maxActive; //

</bean>

//代码中通过JedisPoolConfig获取redis操作实例

public String set(String key, String value) {

Jedis jedis = null;

boolean success = true;

try {

jedis = this.pool.getResource();

return jedis.set(key,value);

}catch (JedisException e) {

success = false;

if(jedis != null){

//监控异常,当发生异常的时候,必须使用这种方式返还

pool.returnBrokenResource(jedis);

}

throw e;

}finally{

if(success && jedis != null){

//实例使用完毕,必须返还给JedisPoolConfig

this.pool.returnResource(jedis);

}

}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值