[Spring] 캐시(Cache) 추상화와 사용법(@Cacheable, @CachePut, @CacheEvict)

    [Spring] 캐시(Cache) 추상화와 사용법 알아보기(@Cacheable, @CachePut, @CacheEvict)

    1. Gradle 설정

    dependencies {
        // ...
        implementation 'org.springframework.boot:spring-boot-starter-cache'
    }

    2. 캐시 설정

    스프링에서 캐시를 사용하기 위해서는 캐시를 적용할 대상 메소드에 @Cacheable, @CachePut, @CacheEvict 등의 어노테이션을 적용해야 합니다.

    @Cacheable(value = "cacheName", key = "#key")
    public Object findData(String key) {
        // ...
    }
    
    @CachePut(value = "cacheName", key = "#key")
    public Object saveData(String key, Object value) {
        // ...
    }
    
    @CacheEvict(value = "cacheName", key = "#key")
    public void deleteData(String key) {
        // ...
    }

    위의 코드는 cacheName이라는 이름의 캐시에서 key라는 키값으로 데이터를 조회하는 메소드입니다. 해당 메소드의 결과가 캐시에 저장되어 있을 경우, 캐시에서 데이터를 조회하게 됩니다.

    @CachePut은 메소드가 실행되는 동안 항상 결과를 캐시에 저장하는 용도로 사용됩니다.

    @CacheEvict는 캐시에서 데이터를 제거하는 용도로 사용됩니다.

    캐시에서 데이터를 조회하거나 저장하고 삭제하기 위해 value와 key 속성을 사용합니다. value는 캐시 이름을, key는 캐시에서 데이터를 구분하기 위한 키값을 의미합니다.

     

    댓글

    Designed by JB FACTORY