@Configuration@EnableCaching
@ConfigurationProperties(prefix ="spring.redis")
public classredisConfig extendsCachingConfigurerSupport {
@Value("${spring.application.name}")
privateString prefixName;
privateMap expires;
@Bean@SuppressWarnings("rawtypes")
publicCacheManager cacheManager(RedisTemplate redisTemplate) {
RedisCacheManager cacheManager = newRedisCacheManager(redisTemplate);//设置redis的名称//cacheManager.setCacheNames(Arrays.asList("redis_first_"));//设置开启前缀cacheManager.setUsePrefix(true);//设置默认的前缀//cacheManager.setCachePrefix(new DefaultRedisCachePrefix(prefixName));cacheManager.setDefaultExpiration(3000);//自定义过期时间cacheManager.setExpires(expires);returncacheManager;}
/*** 配置redis*/@BeanpublicRedisTemplate redisTemplate(RedisConnectionFactory factory){
StringRedisTemplate template = newStringRedisTemplate(factory);Jackson2JsonRedisSerializer serializer =
newJackson2JsonRedisSerializer<>(Object.class);
ObjectMapper mapper = newObjectMapper();mapper.setVisibility(PropertyAccessor.ALL,JsonAutoDetect.Visibility.ANY);mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);serializer.setObjectMapper(mapper);template.setValueSerializer(serializer);template.afterPropertiesSet();returntemplate;}
/*@Beanpublic StringRedisTemplate stringRedisTemplate(RedisConnectionFactory factory) {StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();stringRedisTemplate.setConnectionFactory(factory);return stringRedisTemplate;}*/
publicMap getExpires() {
returnexpires;}
public voidsetExpires(Map expires) {
this.expires= expires;}
}