캐싱 개요


캐시 모듈은 EhCache를 기본 JVM 프로세스 내 캐시 서비스로 사용하고, 외부 Redis 서비스를 통합하여 다단계 캐싱(MultiLevel)을 위한 경량 캐시 프레임워크를 구현하며, YMP 프레임워크와 긴밀하게 통합됩니다(클래스 메소드에 대한 캐싱 지원). , 메소드 매개변수 값이 캐시될 수 있음), 유연한 구성, 사용 및 확장 용이

Maven 패키지 종속성

<dependency>
    <groupId>net.ymate.platform</groupId>
    <artifactId>ymate-platform-cache</artifactId>
    <version>2.0-SNAPSHOT</version>
</dependency>

Note:

  • 위에 구성을 추가하세요. 프로젝트의 pom.xml, 모듈에는 기본적으로 핵심 패키지 종속성이 도입되었으므로 구성을 반복할 필요가 없습니다.
  • redis를 캐시 서비스로 활성화해야 하는 경우 다음 종속성 구성을 추가하세요.

    <dependency>
        <groupId>net.ymate.platform</groupId>
        <artifactId>ymate-platform-persistence-redis</artifactId>
        <version>2.0-SNAPSHOT</version>
    </dependency>

기본 인터페이스 개념

개발자는 캐시 모듈 기반의 사용자 정의 확장 구현을 완료할 수 있습니다. 다음 인터페이스에서

  • 캐시 서비스 공급자(ICacheProvider) 인터페이스:

    • DefaultCacheProvider - EhCache 캐시 서비스를 기반으로 하는 기본 캐시 서비스 공급자 인터페이스 구현 클래스
    • RedisCacheProvider - 다음을 기반으로 하는 캐시 서비스 공급자 인터페이스 구현 클래스 Redis 데이터베이스
    • MultievelCacheProvider - EhCache와 Redis를 통합하고 MultilevelKey를 통해 캐시 객체를 얻는 방법을 결정하는 캐시 서비스 제공자 인터페이스 구현 클래스
  • 캐시 키 생성기(IKeyGenerator) 인터페이스:

    • DefaultKeyGenerator 기반 제공된 클래스 메서드 및 매개 변수 개체에서 캐시 키를 생성합니다. 기본값은 메서드 및 매개 변수 개체를 직렬화하고 해당 MD5 ​​값을 가져오는 것입니다.
  • 직렬화 서비스(ISerializer) 인터페이스:

    • DefaultSerializer - 기본 직렬화 서비스 JDK의 자체 객체 직렬화 기술 구현을 사용합니다.
  • 캐시 이벤트 수신(ICacheEventListener) 인터페이스: 캐시된 객체가 변경될 때 이벤트 처리를 모니터링하는 데 사용되며 개발자는 인터페이스를 구현해야 합니다. : @Cacheable 주석을 처리하는 데 사용되는 Scope 매개변수는 DEFAULT가 아닌 범위 캐시 개체로 설정되며 개발자는 인터페이스를 구현해야 합니다.