이번에 좋은 기회를 통해 꽤 고민을 많이 해야 하는 프로젝트를 해봤다.
로컬로 캐시를 관리해야 했는데 그중 가장 최적이 잘된 Caffeine Cache를 적용해봤다.
그중 캐시 제거 전략에 대해 공부를 해봤다.
Caffeine.newBuilder().maximumSize(long)
해당 전략은 해당 사이즈이상 캐시 크기가 커지면 캐시를 제거하는 전략이다.
Caffeine.newBuilder().expireAfterAccess(long)
Caffeine.newBuilder().expireAfterWrite(long[, TimeUnit])
Caffeine.newBuilder().expireAfter(Expiry)
expireAfterAccess
해당 전략은 캐시 생성 이후 가장 최근에 대체되거나 마지막으로 액세스한지 특정 시간이 지나면 자동으로 캐시를 제거하는 전략이다.
expireAfterWrite
해당 전략은 캐시 생성후 또는 변경된후 특정 시간이 지나면 자동으로 제거되는 전략이다.
expireAfter
캐시가 생성되거나 업데이트 된 후 지정된 시간 간격으로 캐시를 새로 고침합니다.