TTL vs TTI
Ehcache의 데이터 수명에 설정 옵션 중 TTL과 TTI의 차이점에 대해 알아봅시다.
목차
Spring 환경에서 로컬 캐시를 위해 많이 사용되는 Ehcache는 캐시 유효 시간 설정을 위해 다음과 같은 옵션을 제공합니다. [공식 문서]
No Expiry
캐시가 절대 만료되지 않고 무한히 유지됩니다.
TTL (Time To Live)
캐시된 객체가 지정된 시간동안 유효하고, 지정된 시간이 지나면 만료됩니다.
예를 들어, 캐시의 유효 시간을 300초로 설정한 경우, 캐시가 생성된 후 300초가 지나면 삭제됩니다.
TTI (Time To Idle)
캐시가 생성된 후, 지정된 시간 안에 사용되지 않으면 만료됩니다.
예를 들어, 캐시의 유효 시간을 300초로 설정한 경우, 캐시가 생성되고 300초 안에 한 번이라도 사용되면 사용된 시점부터 다시 최대 300초간 유효합니다. 만약 초당 한 번씩 호출되는 API에 TTI 옵션으로 유효 시간을 3초로 지정하면 해당 캐시는 절대 만료되지 않고 무한히 유지됩니다.