4장. Caching 정책

TTL (Time To Live)

Custom TTL

TTL 만료시간 지정

Custom TTL 을 확장하여 TTL 만료시간을 지정할 수 있다.

# /svc/www.example.com/ttl.txt
# {Match}, {TTL}, {minute hour} 순서로 표기한다.

# 자정(00시 00분)에 TTL을 만료한다.
/events/*, 86400, 0 0

# 22시 38분에 TTL을 만료한다.
/foo/bar, 86400, 38 22

# 매 시간마다 TTL을 만료한다.
/index.html, 86400, 0 *

# 5분마다 TTL을 만료한다.
/script/*.js, 86400, */5 *

# 매 6시간마다 TTL을 만료한다.
/image/ad.jpg, 86400, 0 */6

예제의 {TTL} 값이 86400인 이유는 TTL을 설정할 때 {TTL}{minute hour} 중 작은 값을 선택하기 때문이다.

/api/v1/*, 30
/api/v2/*, 30, * *

예를 들어 위 설정의 경우 요청(=캐싱)시간을 기준으로 만료시간이 작은 값을 기준으로 설정된다.

패턴 요청시간 만료시간
/api/v1/* 1:15:10 1:15:40
/api/v1/* 1:15:40 1:16:10
/api/v2/* 1:15:10 1:15:40
/api/v2/* 1:15:40 1:16:00

Note

설정을 변경해도 이미 캐싱된 객체의 TTL이 변경되지는 않는다. TTL은 객체가 초기화(=캐싱) 되는 시점에 고정되기 때문이다.