java專案使用redis / 連線池配置
阿新 • • 發佈:2018-11-29
1. pom
<dependency>
<groupId>redis.clients</groupId><artifactId>jedis</artifactId>
<version>2.9.0</version>
<type>jar</type>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-pool2 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-lang/commons-lang -->
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</dependency>
2. 連線工具類
package com.zhidejiaoyu.common.utils.redis;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* Redis 工具類
* @version 1.0
*/
public class RedisUtil {
private static JedisPool jedisPool = null;
//初始化redis連線池
static{
JedisPoolConfig config = new JedisPoolConfig();
// 設定最大連線數
config.setMaxTotal(3000); // 可以建立3000jedis例項
// 設定最大空閒連線數
config.setMaxIdle(300);
//等待可用連線的最大時間
config.setMaxWaitMillis(10000);
//在borrow一個jedis例項時,是否提前進行validate操作;如果為true,則得到的jedis例項均是可用的
config.setTestOnBorrow(true);
jedisPool = new JedisPool(config,"137.0.0.1",6379);
}
/**
* 獲取Jedis例項
* 每次用完要將連線返回給連線池 jedis.close();
*/
public synchronized static Jedis getJedis(){
if(jedisPool != null){
Jedis resource = jedisPool.getResource();
return resource;
}else{
return null;
}
}
}
3. 測試使用