diff --git a/src/main/java/until/the/eternity/config/RedisConfig.java b/src/main/java/until/the/eternity/config/RedisConfig.java index 17fc887..7f7884f 100644 --- a/src/main/java/until/the/eternity/config/RedisConfig.java +++ b/src/main/java/until/the/eternity/config/RedisConfig.java @@ -9,6 +9,7 @@ import java.time.Duration; import java.util.HashMap; import java.util.Map; +import org.springframework.beans.factory.annotation.Value; import org.springframework.cache.annotation.CachingConfigurer; import org.springframework.cache.annotation.EnableCaching; import org.springframework.cache.interceptor.CacheErrorHandler; @@ -25,6 +26,9 @@ @EnableCaching public class RedisConfig implements CachingConfigurer { + @Value("${app.cache.redis-prefix:oab:v2}") + private String cacheKeyPrefix; + @Override public CacheErrorHandler errorHandler() { return new RedisCacheErrorHandler(); @@ -38,7 +42,7 @@ public RedisCacheManager cacheManager(RedisConnectionFactory connectionFactory) .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); objectMapper.activateDefaultTyping( LaissezFaireSubTypeValidator.instance, - DefaultTyping.NON_FINAL, + DefaultTyping.EVERYTHING, JsonTypeInfo.As.PROPERTY); GenericJackson2JsonRedisSerializer jsonSerializer = @@ -46,6 +50,7 @@ public RedisCacheManager cacheManager(RedisConnectionFactory connectionFactory) RedisCacheConfiguration defaultConfig = RedisCacheConfiguration.defaultCacheConfig() + .computePrefixWith(cacheName -> cacheKeyPrefix + ":" + cacheName + "::") .entryTtl(Duration.ofMinutes(10)) .serializeKeysWith( RedisSerializationContext.SerializationPair.fromSerializer( diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index d6f4075..52f07ac 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -146,6 +146,7 @@ elasticsearch: app: cache: + redis-prefix: ${APP_CACHE_REDIS_PREFIX:oab:v2} # 직렬화 방식 변경 시 버전업 필요 warmup: enabled: ${APP_CACHE_WARMUP_ENABLED:true} ranking-limit: ${APP_CACHE_WARMUP_RANKING_LIMIT:50}