zoukankan      html  css  js  c++  java
  • Jedis 使用范例

    public class RedisUtil {

    Logger logger = LoggerFactory.getLogger(RedisUtil.class);
    private JedisPool pool = null;

    /**

    *在构造函数中初始化JedisPool

    **/
    public RedisUtil() {
      JedisPoolConfig config = new JedisPoolConfig();

      // 控制一个pool可分配多少个jedis实例,通过pool.getResource()来获取;    

      //如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。

      config.setMaxActive(SystemConstants.REDIS_MAX_ACTIVE);  

      //控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。  

      config.setMaxIdle(SystemConstants.REDIS_MAX_IDLE); 

         //表示当borrow一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出     
      config.setMaxWait(SystemConstants.REDIS_MAX_WAIT);   

       //表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;  
      config.setTestOnBorrow(true);
      config.setTestOnReturn(true);
      pool = new JedisPool(config, SystemConstants.REDIS_IP,SystemConstants.REDIS_PORT,SystemConstants.TIMEOUT);  //
    }
    public JedisPool getPool() {
      return pool;
    }
    public void setPool(JedisPool pool) {
      this.pool = pool;
    }

    public Jedis getJedis() {
      Jedis jedis = null;
      int count =0;
      do{
        try{
          jedis = this.getPool().getResource();
        } catch (Exception e) {
          getPool().returnBrokenResource(jedis);
          logger.error("Redis Exception :"+e.toString());
          e.printStackTrace();
        }
        count++;
      }while(jedis==null&&count<SystemConstants.REDIS_RETRY_NUM);
      return jedis;
    }

    /**

    *关闭一个Jedis 资源 return 给pool

    */
    public void closeJedis(Jedis jedis) {
      if(jedis != null) {
        this.pool.returnResource(jedis);
      }
    }

    }

    // 以下为使用方法

    // 获取Jedis 对象

    Jedis jedis = redisUtil.getJedis();

    rsp.setTariff_version(jedis.get("tariff_version"));

    jedis.rpush(key.getBytes(),data);

    // 关闭jedis 对象
    redisUtil.closeJedis(jedis);

  • 相关阅读:
    [国嵌攻略][047][MMU功能解析]
    [国嵌攻略][045-046][一跃进入C大门]
    [国嵌攻略][044][初始化Bss段]
    [国嵌攻略][043][栈初始化]
    [国嵌攻略][042][代码搬移不可少]
    [国嵌攻略][041][6410和210内存初始化]
    [国嵌攻略][040][2440内存初始化]
    页面中加入回到顶部按钮的实现方法(转)
    【总结整理】js获取css的属性(内部,外部,内嵌(写在tag中))
    【总结整理】前端‘变量名’‘类名’‘函数名’的命名规则
  • 原文地址:https://www.cnblogs.com/oftenlin/p/4921203.html
Copyright © 2011-2022 走看看