jedis操作redis

基本配置
//redis 服務器ip
private static String addr = "192.168.0.0";
//端口號
private static int port = 6379;
//密碼
private static String auth = "12345";
//過期時間
private static int timeout = 100;
private static JedisPool jedisPool = null;
static {
try {
JedisPoolConfig config = new JedisPoolConfig();
//默認值
config.setEvictionPolicyClassName("org.apache.commons.pool2.impl.DefaultEvictionPolicy");
//後進先出
config.setLifo(true);
//獲取連接時的有效性
config.setTestOnBorrow(false);
//在空閒時檢查有效性, 默認false
config.setTestWhileIdle(false);
config.setJmxEnabled(true);
//連接耗盡時是否阻塞, false報異常,ture阻塞直到超時, 默認true
config.setBlockWhenExhausted(true);
//最大空閒連接數
config.setMaxIdle(8);
//最大連接數
config.setMaxTotal(100);
//獲取連接時的最大等待毫秒數
config.setMaxWaitMillis(-1);
//逐出連接的最小空閒時間 默認1800000毫秒(30分鐘)
config.setMinEvictableIdleTimeMillis(1800000);
//每次逐出檢查時 逐出的最大數目 如果爲負數就是 : 1/abs(n), 默認3
config.setNumTestsPerEvictionRun(3);
//對象空閒多久後逐出, 當空閒時間>該值 且 空閒連接>最大空閒數 時直接逐出,不再根據MinEvictableIdleTimeMillis判斷  (默認逐出策略)   
config.setSoftMinEvictableIdleTimeMillis(1800000);
//逐出掃描的時間間隔(毫秒) 如果爲負數,則不運行逐出線程, 默認-1
config.setTimeBetweenEvictionRunsMillis(-1);
jedisPool = new JedisPool(config,addr,port,timeout,auth);
} catch (Exception e) {
e.printStackTrace();
}
}


//獲取實例 單例
public synchronized static Jedis getJedis(){
try{
if(jedisPool !=null){
Jedis resource = jedisPool.getResource();
return resource;
}else{
return null;
}
}catch(Exception e){
e.printStackTrace();
return null;
}
}


//釋放資源
public static void returnResource(Jedis jedis){
if(jedis !=null){
//釋放資源個連接池  不是關閉連接
jedis.close();
}
}


//測試
@Test
public void testRedisPool1(){
String set =getJedis().set("age", "test");
System.out.println(getJedis().get("age"));
returnResource(getJedis());
//控制檯test
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章