public class RedisUtil {
private JedisPool jedisPool;
public void initJedisPool(String host,int port,int database){
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
// 總數
jedisPoolConfig.setMaxTotal(200);
// 獲取連接時等待的最大毫秒
jedisPoolConfig.setMaxWaitMillis(10*1000);
// 最少剩餘數
jedisPoolConfig.setMinIdle(10);
// 如果到最大數,設置等待
jedisPoolConfig.setBlockWhenExhausted(true);
// 在獲取連接時,檢查是否有效
jedisPoolConfig.setTestOnBorrow(true);
// 創建連接池
jedisPool = new JedisPool(jedisPoolConfig,host,port,20*1000);
}
public Jedis getJedis(){
Jedis jedis = jedisPool.getResource();
return jedis;
}
}
=====================================
redisConfig的配置
@Configuration
public class RedisConfig {
//讀取配置文件中的redis的ip地址
@Value("${spring.redis.host:disabled}")
private String host;
@Value("${spring.redis.port:0}")
private int port;
@Value("${spring.redis.database:0}")
private int database;
@Bean
public RedisUtil getRedisUtil(){
if(host.equals("disabled")){
return null;
}
RedisUtil redisUtil=new RedisUtil();
redisUtil.initJedisPool(host,port,database);
return redisUtil;
}
}