婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Redis連接池配置及初始化實現

Redis連接池配置及初始化實現

熱門標簽:貴州電銷卡外呼系統 宿遷便宜外呼系統平臺 日本中國地圖標注 十堰營銷電銷機器人哪家便宜 山東外呼銷售系統招商 北京400電話辦理收費標準 超呼電話機器人 魔獸2青云地圖標注 鄭州人工智能電銷機器人系統

加入db選擇后的redis連接池配置代碼

public class RedisPoolConfigure {

 //Redis服務器IP
 private String ADDR ;
 
 //Redis的端口號
 private int PORT ;
 
 //可用連接實例的最大數目
 private int MAX_ACTIVE ;
 
 //pool中的idle jedis實例數
 private int MAX_IDLE ;
 
 //等待可用連接的最大時間,單位毫秒
 private int MAX_WAIT ;
 //超時時間,單位毫秒
 private int TIME_OUT ;
 //設置的逐出策略類名, 默認DefaultEvictionPolicy(當連接超過最大空閑時間,或連接數超過最大空閑連接數)
 private String EVICTION_POLICY_CLASS_NAME ;
 
 //連接耗盡時是否阻塞, false報異常,ture阻塞直到超時
 private boolean BLOCK_WHEN_EXHAUSTED;
 
 //是否啟用pool的jmx管理功能, 默認true
 private boolean JMX_ENABLED;
 
 //在borrow一個jedis實例時,是否提前進行validate操作;如果為true,則得到的jedis實例均是可用的;
 private boolean TEST_ON_BORROW ;
 
 //服務器密碼
 private String REDIS_PASS;
 //redis選擇數據庫DB
 private int REDIS_DB;
 
 
 private String LUASHA;
 
 private MapString, String> configure = null;
 
 /**
  * 根據配置文件,將RedisPool連接配置初始化
  */
 public RedisPoolConfigure(){
  try {
  configure = new ConfigureReader().readProperties("redis.properties");
 } catch (IOException e) {
 e.printStackTrace();
 }
  this.ADDR = configure.get("REDIS.ADDR");
  this.LUASHA = configure.get("REDIS.LUA_HASH");
  this.EVICTION_POLICY_CLASS_NAME = configure.get("REDIS.EVICTION_POLICY_CLASS_NAME");
  this.BLOCK_WHEN_EXHAUSTED = Boolean.parseBoolean(configure.get("REDIS.BLOCK_WHEN_EXHAUSTED"));
  this.JMX_ENABLED = Boolean.parseBoolean(configure.get("REDIS.JMX_ENABLED"));
  this.TEST_ON_BORROW = Boolean.parseBoolean(configure.get("REDIS.TEST_ON_BORROW"));
  this.REDIS_PASS=configure.get("REDIS.PASS");
  
  if(typeCheck()){
  this.PORT = new Integer(configure.get("REDIS.PORT"));
  this.MAX_ACTIVE = new Integer(configure.get("REDIS.MAX_ACTIVE"));
  this.MAX_IDLE = new Integer(configure.get("REDIS.MAX_IDLE"));
  this.MAX_WAIT = new Integer(configure.get("REDIS.MAX_WAIT"));
  this.REDIS_DB=new Integer(configure.get("REDIS.DB"));
  }else{
  System.out.println("error");
  }
 }
 
 /**
  * 輔助工具,檢查map中數據的類型
  * @return
  */
 private boolean typeCheck() {
 if (isNumeric(configure.get("REDIS.PORT")) 
  isNumeric(configure.get("REDIS.MAX_ACTIVE"))
  isNumeric(configure.get("REDIS.MAX_IDLE")) 
  isNumeric(configure.get("REDIS.MAX_WAIT"))
  isNumeric(configure.get("REDIS.DB"))) {
 return true;
 } 
 return false;
 }

 public String getADDR() {
 return ADDR;
 }

 public int getPORT() {
 return PORT;
 }


 public int getMAX_ACTIVE() {
 return MAX_ACTIVE;
 }

 public int getMAX_IDLE() {
 return MAX_IDLE;
 }

 public int getMAX_WAIT() {
 return MAX_WAIT;
 }

 public int getTIME_OUT() {
 return TIME_OUT;
 }

 public boolean isTEST_ON_BORROW() {
 return TEST_ON_BORROW;
 }

 public String getEVICTION_POLICY_CLASS_NAME() {
 return EVICTION_POLICY_CLASS_NAME;
 }

 public boolean isBLOCK_WHEN_EXHAUSTED() {
 return BLOCK_WHEN_EXHAUSTED;
 }

 public boolean isJMX_ENABLED() {
 return JMX_ENABLED;
 }
 /**
 * 判斷傳入的數據是否為純數字構成
 * @param str
 * @return
 */
 public boolean isNumeric(String str) {
 if(str==null || "".equals(str)){
 return false;
 }
 for (int i = 0; i  str.length(); i++) {
 if (!Character.isDigit(str.charAt(i))) {
 return false;
 }
 }
 return true;
 }

 public String getLUASHA() {
 return LUASHA;
 }

 public void setLUASHA(String lUASHA) {
 LUASHA = lUASHA;
 }

 public String getREDIS_PASS() {
 return REDIS_PASS;
 }

 public void setREDIS_PASS(String rEDIS_PASS) {
 REDIS_PASS = rEDIS_PASS;
 }

 public int getREDIS_DB() {
 return REDIS_DB;
 }

 public void setREDIS_DB(int rEDIS_DB) {
 REDIS_DB = rEDIS_DB;
 }
}

redis連接池初始化、獲取Jedis實例和釋放Jedis實例

/**
 * jedis的連接池,返回未封裝的jedis對象
 * 一般只有在RedisCache類提供的操作粒度不足使用時才使用此類提供的原生jedis方法
 * @author Hector
 *
 */
public class RedisPool {
 
 private static JedisPool jedisPool = null;
 
 /**
  * 初始化Redis連接池
  */
 static {
  try {
   RedisPoolConfigure configure = new RedisPoolConfigure();
   JedisPoolConfig config = new JedisPoolConfig();
   config.setBlockWhenExhausted(configure.isBLOCK_WHEN_EXHAUSTED());
   config.setEvictionPolicyClassName(configure.getEVICTION_POLICY_CLASS_NAME());
   config.setJmxEnabled(configure.isJMX_ENABLED());
   config.setMaxIdle(configure.getMAX_IDLE());
   config.setMaxTotal(configure.getMAX_ACTIVE());
   config.setMaxWaitMillis(configure.getMAX_WAIT());
   config.setTestOnBorrow(configure.isTEST_ON_BORROW());
   jedisPool = new JedisPool(config, configure.getADDR(), configure.getPORT(), configure.getTIME_OUT(),configure.getREDIS_PASS(),configure.getREDIS_DB());
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
 
 /**
  * 獲取Jedis實例
  * @return
  */
 public synchronized static Jedis getJedis() {
  Jedis resource=null;
  try {
   if (jedisPool != null) {
    resource = jedisPool.getResource();
    return resource;
   } else {
    return null;
   }
  } catch (Exception e) {
   e.printStackTrace();
   return null;
  }
 }
 
 
 /**
  * 釋放jedis資源
  * @param jedis
  */
 public static void close(final Jedis jedis) {
  if (jedis != null) {
   jedis.close();
  }
 }
 
 public static JedisPool getJedisPool() {
 return jedisPool;
 }
}

到此這篇關于Redis連接池配置及初始化實現的文章就介紹到這了,更多相關Redis連接池配置內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • springboot連接Redis的教程詳解
  • springboot2整合redis使用lettuce連接池的方法(解決lettuce連接池無效問題)
  • Java三種獲取redis的連接及redis_String類型演示(適合新手)
  • redis連接被拒絕的解決方案

標簽:江蘇 朝陽 臺州 大慶 吉安 北京 楊凌 果洛

巨人網絡通訊聲明:本文標題《Redis連接池配置及初始化實現》,本文關鍵詞  Redis,連接,池,配置,及,初始化,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Redis連接池配置及初始化實現》相關的同類信息!
  • 本頁收集關于Redis連接池配置及初始化實現的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 通海县| 来宾市| 谷城县| 滨州市| 南皮县| 海盐县| 长泰县| 婺源县| 肇东市| 赣州市| 德钦县| 洪泽县| 界首市| 东兰县| 连云港市| 绥阳县| 丽江市| 泾川县| 剑阁县| 鸡东县| 蒙阴县| 荔浦县| 呼玛县| 乌兰察布市| 牙克石市| 漳平市| 方山县| 铜陵市| 尚志市| 昭苏县| 宾阳县| 新晃| 临清市| 米林县| 保山市| 新平| 阿拉善盟| 工布江达县| 鄱阳县| 通江县| 沐川县|