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은 객체가 초기화(=캐싱) 되는 시점에 고정되기 때문이다.