회사에서 사용하던 캐시 키의 TTL이 설정되어 있지 않아 기본값 TTL이 적용되고 있는 사실이 확인되었습니다. 이에 적절한 캐시 TTL을 설정해주기 위해 환경변수로 설정하려던 때 난감한 부분에 봉착했습니다.
서비스명:도메인이름:버전
캐시 키가 위와 같은 구조로 되어 있었기 때문입니다. 캐시 키 TTL을 설정할 때 YAML에 환경변수로 설정해서 넣어주고 있습니다.
YAML에서는 : 문자가 key-value 구분자로 사용되기 때문에 문자열 전체를 key로 인식시키지 않으면 제대로 설정 주입이 되지 않는 문제가 발생합니다.
# 다음은 예시입니다.
cache:
"[order-service:order:v1]":
ttl: 1m
위와 같이 설정하면 :을 key-value 구분자가 아닌 하나의 문자로 인식하게 됩니다.