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