springboot框架,使用redis客户端jedis,配置连接池jedispool。
步骤1:首先配置文件application.yml中写入redis连接信息。
步骤2:pom文件中加入如下配置:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
步骤3:新建类,配置jedispool连接池相关信息
@Configuration @EnableCaching public class RedisCacheConfigurartion extends CachingConfigurerSupport { private Logger logger = LoggerFactory.getLogger(getClass()); @Value("${spring.redis.host}") private String host; @Value("${spring.redis.port}") private int port; @Value("${spring.redis.timeout}") private int timeout; @Value("${spring.redis.pool.max-idle}") private int maxIdle; @Value("${spring.redis.pool.max-wait}") private long maxWaitMillis; @Value("${spring.redis.password}") private String password; @Value("${spring.redis.database}") private int database; @Bean public JedisPool redisPoolFactory() { logger.info("JedisPool注入成功!!"); logger.info("redis地址:" + host + ":" + port); JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); jedisPoolConfig.setMaxIdle(maxIdle); jedisPoolConfig.setMaxWaitMillis(maxWaitMillis); JedisPool jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout, password,database); return jedisPool; } }
步骤4:新建redis连接工具类
public class RedisUtil implements ApplicationContextAware{ private static ApplicationContext applicationContext = null; private static JedisPool jedisPool; public RedisUtil(){ } /** * 连接redis * @return */ public static Jedis getConnection(){ if(jedisPool == null){ RedisCacheConfigurartion redisCache = applicationContext.getBean(RedisCacheConfigurartion.class); jedisPool = redisCache.redisPoolFactory(); } return jedisPool.getResource(); } /** * 释放资源 * @param jedis */ public static void returnJedisPool(Jedis jedis){ if(null != jedis){ jedisPool.returnResourceObject(jedis); } } @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { if(RedisUtil.applicationContext == null){ RedisUtil.applicationContext = applicationContext; } } }