봄 부팅 1.X RedisCacheManager 구성
@Bean 공개 CacheManager cacheManager (RedisTemplate redisTemplate) { RedisCacheManager cacheManager = 새로운 RedisCacheManager (redisTemplate); cacheManager.setDefaultExpiration ( 60 ); 지도 <문자열, 롱> expiresMap = 새로운 HashMap의 <> (); expiresMap.put ( "제품", 5L ); cacheManager.setExpires (expiresMap); 반환 cacheManager을; }
봄 부팅 2.X RedisCacheManager 구성
/ ** * SpringBoot 구성 버전 2.x * * @param의 redisConnectionFactory * @return * / @Bean 공개 CacheManager redisCacheManager (RedisConnectionFactory redisConnectionFactory) { RedisSerializer <문자열> = redisSerializer 새로운 새 StringRedisSerializer (); Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = 새로운 새 Jackson2JsonRedisSerializer (개체. 클래스 ); //은 쿼리 캐시 변환 예외 문제 해결 ObjectMapper OM = 새 새 ) (ObjectMapper를; om.setVisibility (PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); om.enableDefaultTyping (ObjectMapper.DefaultTyping.NON_FINAL); jackson2JsonRedisSerializer.setObjectMapper (OM); CacheKeyPrefix keyPrefix = 새로운 CacheKeyPrefix () { @Override 공공 문자열 연산 (문자열 cacheName가) { 반환 cacheName + ":" ; } }; RedisCacheConfiguration 구성 = RedisCacheConfiguration.defaultCacheConfig ()
//失效时间 .entryTtl (Duration.ofMinutes ( 3 )) .serializeKeysWith (RedisSerializationContext.SerializationPair.fromSerializer (redisSerializer)) .serializeValuesWith (RedisSerializationContext.SerializationPair.fromSerializer (jackson2JsonRedisSerializer)) .disableCachingNullValues (); 반환 RedisCacheManager.builder (redisConnectionFactory) .cacheDefaults (설정) ) (.build을; }