캐시 모듈 사용 예


예1: 캐시 모듈을 통해 캐시된 데이터를 직접 조작
public static void main(String[] args) throws Exception {
    YMP.get().init();
    try {
        // 操作默认缓存
        Caches.get().put("key1", "value1");
        System.out.println(Caches.get().get("key1"));
        // 操作指定名称的缓存
        Caches.get().put("default", "key2", "value2");
        System.out.println(Caches.get().get("default", "key2"));
    } finally {
        YMP.get().destroy();
    }
}

Note# 🎜 🎜#: 캐시 이름을 지정할 때 해당 이름에 해당하는 구성이 이미 존재하는지 확인하세요.

실행 결과:

value1
value2
#🎜 🎜#
예 2: 주석 기반 클래스 메서드 캐싱여기서는 @Cacheable 주석을 사용하여 메서드의 실행 결과를 식별합니다. 해당 클래스에서 Caching을 수행하는데 주의할 점은

먼저 YMP 클래스 객체에 등록된 클래스에 @Cacheable Annotation을 선언해야 한다는 점이다. 클래스가 캐싱을 지원함을 나타내는 관리자
#🎜 🎜#두 번째로, 실행 결과를 캐시해야 하는 메소드에 @Cacheable 주석을 추가합니다. 매개변수 설명:

cacheName: 캐시 이름, 기본값은 default입니다.

key: 캐시 키가 설정되지 않은 경우 keyGenerator를 사용하여 자동으로 생성됩니다. ;

generator: 키 생성기 인터페이스 구현 클래스, 기본값은 DefaultKeyGenerator 클래스입니다.

scope: 캐시 범위, 선택 값은 APPLICATION, SESSION 및 DEFAULT입니다. 기본값은 DEFAULT이며, DEFAULT가 아닌 설정에는 캐시 범위 프로세서(ICacheScopeProcessor) 인터페이스의 협력이 필요합니다.

# 🎜🎜#timeout: 캐시 데이터 시간 초과, 선택적 매개 변수, 값은 0, 0보다 크거나 같아야 합니다. 기본 캐시가 300초임을 의미합니다.

샘플 코드:

#🎜🎜 #

@Bean
@Cacheable
public class CacheDemo {

    @Cacheable
    public String sayHi(String name) {
        System.out.println("No Cached");
        return "Hi, " + name;
    }

    public static void main(String[] args) throws Exception {
        YMP.get().init();
        try {
            CacheDemo _demo = YMP.get().getBean(CacheDemo.class);
            System.out.println(_demo.sayHi("YMP"));
            System.out.println(_demo.sayHi("YMP"));
            //
            System.out.println("--------");
            //
            System.out.println(_demo.sayHi("YMPer"));
            System.out.println(_demo.sayHi("YMP"));
            System.out.println(_demo.sayHi("YMPer"));
        } finally {
            YMP.get().destroy();
        }
    }
}

실행 결과 :

No Cached
Hi, YMP
Hi, YMP
--------
No Cached
Hi, YMPer
Hi, YMP
Hi, YMPer
위의 결과 출력은 다음과 같습니다. 처음으로 sayHi 메소드의 동일한 매개변수가 호출되는 경우를 볼 수 있습니다. 다시 호출하면 캐시를 사용하지 않음을 나타내는 "No Cached" 문자열이 출력됩니다.