[java] Ehcache의 사용 예시

Ehcache는 자바 어플리케이션에서 캐싱을 관리하기 위해 널리 사용되는 오픈 소스 라이브러리입니다. 이 블로그 포스트에서는 Ehcache를 사용하는 간단한 예시를 소개하겠습니다.

의존성 추가

먼저, Ehcache를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 다음 의존성을 추가합니다:

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

Gradle을 사용하는 경우, build.gradle 파일에 다음 의존성을 추가합니다:

dependencies {
    implementation 'org.ehcache:ehcache:3.8.1'
}

캐시 설정

Ehcache를 사용하기 전에 캐시를 설정해야 합니다. ehcache.xml 파일을 생성하고 다음과 같이 내용을 작성합니다:

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://www.ehcache.org/ehcache.xsd">

    <cache name="myCache"
           maxEntriesLocalHeap="1000"
           eternal="false"
           timeToIdleSeconds="600"
           timeToLiveSeconds="1200"
           memoryStoreEvictionPolicy="LFU"
           statistics="true">
    </cache>

</ehcache>

위의 예시에서는 myCache라는 이름의 캐시를 생성하였습니다. 이 캐시는 최대 1000개의 엔트리를 보관하며, 만료되지 않은 엔트리는 10분 동안 유휴 상태로 유지되고 20분 동안 살아 있습니다. LFU(Least Frequently Used) 알고리즘을 사용하여 메모리 스토어에서 엔트리를 제거하고, 통계 정보를 수집합니다.

캐시 사용

이제 Ehcache를 사용하여 캐시를 관리할 수 있습니다. 다음은 간단한 예시 코드입니다:

import org.ehcache.Cache;
import org.ehcache.CacheManager;
import org.ehcache.config.CacheConfiguration;
import org.ehcache.config.builders.CacheConfigurationBuilder;
import org.ehcache.config.builders.CacheManagerBuilder;

public class CacheExample {
    public static void main(String[] args) {
        // 캐시 매니저 생성
        CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder().build();
        cacheManager.init();

        // 캐시 설정 가져오기
        CacheConfiguration<Long, String> cacheConfiguration = CacheConfigurationBuilder.newCacheConfigurationBuilder(
                Long.class, String.class, ResourcePoolsBuilder.heap(1000))
                .build();

        // 캐시 생성
        Cache<Long, String> myCache = cacheManager.createCache("myCache", cacheConfiguration);

        // 캐시에 데이터 추가
        myCache.put(1L, "Hello, Ehcache!");

        // 캐시에서 데이터 조회
        String value = myCache.get(1L);
        System.out.println(value);

        // 캐시 종료
        cacheManager.close();
    }
}

위의 예시에서는 CacheManagerCacheConfiguration을 생성한 후, createCache 메소드를 호출하여 myCache라는 이름의 캐시를 생성합니다. 데이터를 추가하고 조회한 후, cacheManager를 종료합니다.

Ehcache의 더 많은 기능과 세부 설정에 대해서는 공식 문서를 참조하시기 바랍니다.

결론

Ehcache를 사용하면 자바 어플리케이션에서 캐싱을 간편하게 관리할 수 있습니다. 이 예시를 참고하여 캐시를 적용하여 어플리케이션의 성능을 향상시킬 수 있습니다.