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;
}
}