[Spring Boot] Spring Boot 2.x version CacheManager configuration

Spring Boot 1.X RedisCacheManager configuration

@Bean
public CacheManager cacheManager(RedisTemplate redisTemplate) {
    RedisCacheManager cacheManager= new RedisCacheManager(redisTemplate);
    cacheManager.setDefaultExpiration(60);
    Map<String,Long> expiresMap=new HashMap<>();
    expiresMap.put("Product",5L);
    cacheManager.setExpires(expiresMap);
    return cacheManager;
}

Spring Boot 2.X RedisCacheManager configuration

  / ** 
     * SpringBoot configuration version 2.X 
     * 
     * @param redisConnectionFactory 
     * @return 
     * / 
    @Bean 
    public the CacheManager redisCacheManager (RedisConnectionFactory redisConnectionFactory) { 
        RedisSerializer <String> = redisSerializer new new StringRedisSerializer (); 
        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new new Jackson2JsonRedisSerializer (Object. class );
         //   solve the problem query cache conversion exceptions 
        ObjectMapper OM = new new ObjectMapper ();
        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        jackson2JsonRedisSerializer.setObjectMapper(om);
        CacheKeyPrefix keyPrefix = new CacheKeyPrefix() {
            @Override
            public String compute(String cacheName) {
                return cacheName + "::";
            }
        };
        RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig()
          //失效时间 .entryTtl(Duration.ofMinutes(
3)) .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(redisSerializer)) .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(jackson2JsonRedisSerializer)) .disableCachingNullValues(); return RedisCacheManager.builder(redisConnectionFactory) .cacheDefaults(config) .build(); }

 

Guess you like

Origin www.cnblogs.com/EveningWind/p/11617271.html