Jedis连接池的使用.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Jedis连接池的使用

Jedis连接池的使用所需jar:jedis-2.1.0.jar和commons-pool-1.5.4.jarJedis操作步骤如下:1-获取Jedis实例需要从JedisPool中获取;2-用完Jedis实例需要返还给JedisPool;3-如果Jedis在使用过程中出错,则也需要还给JedisPool;代码如下:package com.ljq.utils;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;/** * Redis操作接口 * * @author 林计钦 * @version 1.0 2013-6-14 上午08:54:14 */publicclass RedisAPI {privatestatic JedisPool pool = null;/** * 构建redis连接池 * * @param ip * @param port * @return JedisPool */publicstatic JedisPool getPool() {if (pool == null) { JedisPoolConfig config = new JedisPoolConfig();//控制一个pool可分配多少个jedis实例,通过pool.getResource()来获取; //如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。 config.setMaxActive(500);//控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。 config.setMaxIdle(5);//表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException; config.setMaxWait(1000 * 100);//在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的; config.setTestOnBorrow(true); pool = new JedisPool(config, 192.168.2.191, 8888); }return pool; }/** * 返还到连接池 * * @param pool * @param redis */publicstaticvoid returnResource(JedisPool pool, Jedis redis) {if (redis != null) { pool.returnResource(redis); } }/** * 获取数据 * * @param key * @return*/publicstatic String get(String key){ String value = null; JedisPool pool = null; Jedis jedis = null;try { pool = getPool(); jedis = pool.getResource(); value = jedis.get(key); } catch (Exception e) {//释放redis对象 pool.returnBrokenResource(jedis); e.printStackTrace(); } finally {//返还到连接池 returnResource(pool, jedis); }return value; }}代码说明:a、获取jedis实例时,实际上可能有两类错误。一类是pool.getReource(),得不到可用的jedis实例;另一类是jedis.set/get时出错也会抛出异常;为了实现区分,所以根据instance是否为null来实现,如果为

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档