봄 Java용 경량의 종속성 주입 및 측면 지향 개발 컨테이너 및 프레임워크입니다. J2EE 개발의 전반적인 복잡성을 줄이고 높은 응집력과 느슨한 결합을 제공합니다. Spring이 제공하는 이점 때문에 많은 개발자들이 소규모에서 엔터프라이즈 수준의 애플리케이션을 생성하기 위해 트래픽이 많이 사용됩니다.
그러나 이러한 트래픽이 많은 Spring 애플리케이션은 주요 확장성 문제에 직면해 있습니다. 애플리케이션 서버 팜에 더 많은 서버를 추가하여 확장할 수 있지만 데이터베이스 서버는 증가하는 트랜잭션 로드를 처리하기 위해 동일한 방식으로 확장할 수 없습니다. 이러한 상황에서 Java 분산 캐시는 비용이 많이 드는 데이터베이스 이동을 줄이고 애플리케이션 성능을 향상시켜 데이터베이스의 부담을 덜어주기 때문에 처리하기에 가장 좋습니다.
NCache 세부 정보 NCache 기술 문서 NCache 스프링 캐싱 문서
Spring 애플리케이션을 사용하는 이유 NCache?
NCache, 메모리 내 분산 캐시는 CPU 집약적이고 시간 소모적이며 데이터베이스 바인딩된 Spring 애플리케이션의 출력을 쉽게 캐시할 수 있는 일반 Java 캐시 메커니즘을 도입하여 Spring Caching 공급자를 구현했습니다. 이 접근 방식은 데이터베이스 로드를 줄일 뿐만 아니라 메서드 실행 횟수를 줄이고 애플리케이션 성능을 향상시킵니다. 이 블로그에서는 다음을 사용하여 Spring Caching을 구성하는 방법에 대해 자세히 설명합니다. NCache.
NCache 세부 정보 NCache 스프링 데이터 캐시로 다음을 사용하여 애플리케이션 구성 NCache
사용하도록 스프링 캐싱을 구성하는 방법 NCache?
NCache 통해 Spring 캐싱 지원을 제공합니다. 일반 스프링 캐싱 공급자어디로 NCache Spring 애플리케이션의 캐시 관리자 역할을 하며 JCache 캐싱 공급자어디로 NCache 지원되는 JCache 기능을 사용합니다. 두 가지 방법 모두에 대해 아래에 제공된 단계를 따르고 구성하십시오. NCache 당신의 Spring 애플리케이션과 함께.
일반 스프링 캐싱 공급자
다음을 사용하여 Spring 애플리케이션을 구성하려면 NCache Generic Spring Caching Provider, 먼저 필수 항목을 추가해야 합니다. Maven 종속성 그 봄과 NCache 제공합니다. 그런 다음 다음 중 하나를 통해 Spring 애플리케이션에서 빈을 정의합니다. 자바 기반 빈 정의 or XML 기반 빈 정의.
Java 기반 정의를 사용하여 빈을 정의하려면 다음을 추가해야 합니다. @Bean
주석 CachingConfiguration
클래스 setConfigFile()
메소드는 귀하의 경로를 지정합니다 ncache-spring.xml
아래에 표시된 파일.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
@Configuration @EnableCaching public class CachingConfiguration { @Bean public CacheManager cacheManager() { SpringConfigurationManager springConfigurationManager = new SpringConfigurationManager(); URL resource = getClass().getClassLoader().getResource("ncache-spring.xml"); springConfigurationManager.setConfigFile(resource.getPath()); NCacheCacheManager cacheManager = new NCacheCacheManager(); cacheManager.setSpringConfigurationManager(springConfigurationManager); return cacheManager; } } |
XML 기반 정의를 사용하여 빈을 정의하려면 캐싱을 활성화하고 다음을 지정하는 xml 파일을 추가해야 합니다. NCache 캐시 관리자로. 두 가지 모두에 대해 Bean 태그를 정의해야 합니다. cacheManager
및 NCacheConfigurationManager
. 또한, springConfigurationManager
및 logFilePath
속성은 cacheManager에 대해 지정되어야 합니다. 이러한 속성에 대한 자세한 내용은 다음을 참조하십시오. 스프링 캐싱 문서.
NCache 캐쉬 관리 프로그램은 다음을 사용합니다. ncache-spring.xml
캐시는 고유한 속성 집합으로 구성 및 정의되어야 하는 파일입니다. 샘플 코드는 아래에 나와 있습니다.
1 2 3 4 5 |
<application-config default-cache-name="default"> <caches> <cache name="CustomerCollectionCache" ncache-instance="demoCache" priority="normal" expiration-type="absolute" expiration-period="10"/> </caches> </application-config> |
JCache 스프링 캐싱 제공자
Spring은 또한 Spring 애플리케이션에서 JCache를 사용할 수 있는 JCache 불만 캐싱 제공자를 지원합니다. NCache. Spring Framework 또는 Spring Boot에 필요한 Maven 종속성을 추가하고 NCache 통합을 위해. 그런 다음 JCache Spring 애플리케이션에 대한 캐시를 구성합니다.
추가 설명된 두 가지 방법으로 캐시를 구성할 수 있습니다. 하나는 추가할 수 있습니다. spring.cache.cache-names
~에있는 태그 application.properties
파일. 캐시 이름은 에 구성된 것과 동일해야 합니다. NCache 웹 관리자.
1 |
spring.cache.cache-names=demoCache,booksCache |
다른 방법은 다음을 통해 캐시를 구성할 수 있다는 것입니다. JCacheManagerCustomizer
원하는 구성으로 런타임에 캐시를 초기화하는 클래스입니다.
1 2 3 4 5 6 7 8 9 10 11 |
@Configuration public class CacheConfiguration implements JCacheManagerCustomizer { @Override public void customize(CacheManager cacheManager) { MutableConfiguration mutableConfiguration = new MutableConfiguration(); mutableConfiguration.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(Duration.ONE_MINUTE)); cacheManager.createCache("booksCache", mutableConfiguration); } } |
캐싱 선언을 사용하여 캐시해야 하는 메서드 식별
위에 정의된 두 구성을 통해 캐싱을 활성화했으면 다음 단계는 이제 이러한 캐싱 동작을 각각의 메서드에 바인딩하여 다음을 사용하는 것입니다. NCache Spring용 캐싱 제공자로서.
두 가지 방법을 통해 캐싱 동작을 해당 메서드에 바인딩할 수 있습니다. 하나는 통과 캐싱 주석 그리고 다른 하나는 선언적 XML 기반 캐싱. 자세한 이해를 얻으려면 다음으로 이동하십시오. 캐싱 선언 구성 Spring Docs.
@Cacheable 어노테이션을 사용하여 다음 샘플 코드에서 캐시 booksCache를 포함하는 웹 서비스에서 캐싱을 수행합니다.
1 2 3 4 5 6 7 8 9 |
// BookService.java @Service public class BookService { @Cacheable("booksCache") public String getBookNameByIsbn(String isbn) { return findBookInSlowSource(isbn); } // further code } |
NCache 세부 정보 JCache API 문서 최대 절전 모드 캐싱
결론!
사용하여 NCache Spring Caching 제공자로서 당신은 당신의 Spring 애플리케이션을 선형적으로 그리고 향상된 성능으로 확장할 수 있습니다. 구성 파일을 수정하기만 하면 됩니다. 그래서 다운로드 NCache 이제 직접 사용해보십시오!