[java] Ehcache와 캐시 데이터 삭제 정책 설정

Ehcache는 자바 기반의 오픈 소스 캐싱 라이브러리로, 메모리 상에서 데이터를 캐싱하여 성능 향상을 도와줍니다. 이번에는 Ehcache를 사용하여 캐시 데이터의 삭제 정책을 설정하는 방법에 대해 알아보겠습니다.

Ehcache 설정하기

Ehcache를 사용하기 위해 우선 Ehcache를 프로젝트에 추가해야 합니다. Maven을 사용한다면 pom.xml 파일에 다음과 같이 의존성을 추가하세요:

<dependencies>
    <dependency>
        <groupId>org.ehcache</groupId>
        <artifactId>ehcache</artifactId>
        <version>3.8.1</version>
    </dependency>
</dependencies>

캐시 생성 및 삭제 정책 설정하기

Ehcache를 사용하여 캐시를 생성하고 삭제 정책을 설정하려면 다음 단계를 따르세요.

1. 캐시 매니저 생성하기

CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder().build();
cacheManager.init();

2. 캐시 생성하기

Cache<String, String> cache = cacheManager.createCache("myCache",
        CacheConfigurationBuilder.newCacheConfigurationBuilder(String.class, String.class,
                ResourcePoolsBuilder.heap(100))
                .withExpiry(ExpiryPolicyBuilder.timeToLiveExpiration(Duration.ofMinutes(10)))
                .build());

위의 예제에서는 myCache라는 이름의 캐시를 생성하고, 해당 캐시의 데이터의 유효기간을 10분으로 설정하였습니다.

3. 캐시에 데이터 추가하기

cache.put("key", "value");

4. 캐시에서 데이터 조회하기

String value = cache.get("key");

5. 캐시 데이터 삭제 정책 설정하기

Ehcache에서는 여러 가지 삭제 정책을 설정할 수 있습니다. 예를 들어, 캐시 데이터의 유효기간이 만료되었을 때 자동으로 삭제하도록 설정할 수 있습니다.

.withExpiry(ExpiryPolicyBuilder.timeToLiveExpiration(Duration.ofMinutes(10)))

또는 특정 조건을 만족하는 캐시 데이터만 삭제하도록 설정할 수도 있습니다.

.withEvictionAdvisor(key -> key.contains("delete"))

위의 예제에서는 delete라는 문자열을 포함하는 키에 대한 데이터만 삭제하도록 설정하였습니다.

6. 캐시 삭제하기

cacheManager.removeCache("myCache");

위의 예제에서는 myCache라는 이름의 캐시를 삭제합니다.

결론

Ehcache를 사용하여 캐시 데이터의 삭제 정책을 설정하는 방법에 대해 알아보았습니다. 캐시를 올바르게 사용하고 삭제 정책을 설정함으로써 애플리케이션의 성능을 향상시킬 수 있습니다. 자세한 내용은 Ehcache 공식 문서를 참조하세요.

참고 자료: