| | |
| | | import com.fasterxml.jackson.annotation.JsonAutoDetect; |
| | | import com.fasterxml.jackson.annotation.PropertyAccessor; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import org.apache.commons.pool2.impl.GenericObjectPoolConfig; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; |
| | | import org.springframework.data.redis.serializer.StringRedisSerializer; |
| | | import org.yeshi.utils.StringUtil; |
| | | import redis.clients.jedis.JedisPool; |
| | | import redis.clients.jedis.JedisPoolConfig; |
| | | |
| | | @Configuration |
| | | public class RedisConfig { |
| | | |
| | | @Value("${spring.redis.host}") |
| | | private String addr; |
| | | @Value("${spring.redis.port}") |
| | | private int port; |
| | | @Value("${spring.redis.timeout}") |
| | | private String timeout; |
| | | @Value("${spring.redis.password}") |
| | | private String auth; |
| | | @Value("${spring.redis.database}") |
| | | private int database; |
| | | @Value("${spring.redis.jedis.pool.max-total}") |
| | | private int maxTotal; |
| | | @Value("${spring.redis.jedis.pool.max-idle}") |
| | | private int maxIdle; |
| | | @Value("${spring.redis.jedis.pool.test_on_borrow}") |
| | | private boolean testOnBorrow; |
| | | |
| | | |
| | | Logger log = LoggerFactory.getLogger(RedisConfig.class); |
| | | |
| | | @Bean |
| | | public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) { |
| | | RedisTemplate<String, Object> template = new RedisTemplate<>(); |
| | |
| | | template.afterPropertiesSet(); |
| | | return template; |
| | | } |
| | | |
| | | |
| | | @Bean |
| | | public JedisPool jedisPool() { |
| | | JedisPoolConfig poolConfig = new JedisPoolConfig(); |
| | | poolConfig.setMaxTotal(maxTotal); |
| | | poolConfig.setMaxIdle(maxIdle); |
| | | poolConfig.setTestOnBorrow(testOnBorrow); |
| | | return new JedisPool(poolConfig, addr, port, Integer.parseInt(timeout.replace("ms", "").trim()), auth, database); |
| | | } |
| | | } |