• 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);

  • 相关阅读:
    实现随机颜色
    为网站实现一个验证码
    vue.js帐号,密码,邮箱和移动手机号码正则验证
    从网址中截去主机名和参数
    vue.js判断网址参数是否有效
    创建windows service
    vue.js axios call api example
    vue.js mouse over change the image
    jQuery接收url的参数
    ms sql server排序
  • 原文地址:https://www.cnblogs.com/oftenlin/p/4921203.html
Copyright © 2020-2023  润新知