SpringBoot 통합 Caffine 캐 시 구현 절차

3297 단어 SpringBootCaffeine
Maven 의존
카페인 Caffine 과 Spring Boot 를 사용 하려 면 먼저 spring-boot-starter-cache 와 카페인 Caffine 의존 항목 을 추가 합 니 다.

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-cache</artifactId>
    </dependency>
    <dependency>
        <groupId>com.github.ben-manes.caffeine</groupId>
        <artifactId>caffeine</artifactId>
    </dependency>
</dependencies>
기본 Spring 캐 시 지원 과 Caffine 라 이브 러 리 를 가 져 옵 니 다.
배치 하 다.
스프링 부 트 프로그램 에 캐 시 를 설정 해 야 합 니 다.
우선,우 리 는 Caffine bean 을 만 들 었 다.이것 은 캐 시 동작(예 를 들 어 만 료,캐 시 크기 제한 등)을 제어 하 는 주요 설정 입 니 다.

@Bean
public Caffeine caffeineConfig() {
    return Caffeine.newBuilder().expireAfterWrite(60, TimeUnit.MINUTES);
}
다음은 Spring CacheManager 인 터 페 이 스 를 사용 하여 다른 bean 을 만들어 야 합 니 다.Caffine 은 이 인터페이스의 실현 을 제공 합 니 다.위 에서 만 든 카페인 대상 이 필요 합 니 다.

@Bean
public CacheManager cacheManager(Caffeine caffeine) {
    CaffeineCacheManager caffeineCacheManager = new CaffeineCacheManager();
    caffeineCacheManager.setCaffeine(caffeine);
    return caffeineCacheManager;
}
마지막 으로,springboot 에 캐 시 를 사용 하려 면@EnableCashing 주석 을 사용 해 야 합 니 다.이것 은 응용 프로그램의 모든@Configuration 클래스 에 추가 할 수 있 습 니 다.
예시
캐 시 를 사용 하고 카페인 을 사용 하도록 설정 한 상태 에서 SpringBoot 프로그램 에서 캐 시 를 사용 하 는 방법 에 대한 예 시 를 살 펴 보 자.
SpringBoot 에서 캐 시 를 사용 하 는 주요 방법 은@Cacheable 주석 을 사용 하 는 것 입 니 다.이 주석 은 SpringBean 의 모든 방법(심지어 전체 클래스)에 적용 된다.등 록 된 캐 시 관리자 가 호출 된 결 과 를 캐 시 에 저장 하도록 표시 합 니 다.
전형 적 인 용법 은 서비스 류 내부 이다.

@Service
public class AddressService {
    @Cacheable
    public AddressDTO getAddress(long customerId) {
        // lookup and return result
    }
}
인자 가 없 는@Cacheable 주석 을 사용 하면 Spring 을 cache 와 cache 키 로 기본 이름 을 사용 하도록 강제 합 니 다.
우 리 는 주석 에 파 라 메 터 를 추가 해서 이 두 가지 행 위 를 덮어 쓸 수 있 습 니 다.

@Service
public class AddressService {
    @Cacheable(value = "address_cache", key = "customerId")
    public AddressDTO getAddress(long customerId) {
        // lookup and return result
    }
}
위의 예 는 Spring 에 게 address 라 는 이름 을 알려 줍 니 다.cache 의 캐 시 와 customerId 인 자 를 캐 시 키 로 합 니 다.
마지막 으로 캐 시 관리자 자체 가 SpringBean 이기 때문에 다른 bean 에 자동 으로 연결 하여 직접 사용 할 수 있 습 니 다.

@Service
public class AddressService {

    @Autowired
    CacheManager cacheManager;

    public AddressDTO getAddress(long customerId) {
        if(cacheManager.containsKey(customerId)) {
            return cacheManager.get(customerId);
        }
        
        // lookup address, cache result, and return it
    }
}
전체 코드 주소:https://github.com/eugenp/tutorials/tree/master/spring-boot-modules/spring-boot-libraries
이상 은 SpringBoot 통합 Caffine 캐 시 절차 의 상세 한 내용 입 니 다.SpringBoot 통합 Caffine 캐 시 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기