최대 절전 모드 XNUMX 단계 캐시

Hibernate는 인기 있는 Java용 오픈 소스 객체 관계형 매핑 솔루션입니다. 성능 향상을 위해 Hibernate는 캐싱 기능도 제공합니다. Hibernate는 첫 번째 수준 캐시와 두 번째 수준 캐시의 두 가지 유형의 캐싱을 제공합니다.

첫 번째 수준 캐시는 기본적으로 내장되어 사용되지만 사용이 제한되고 액세스할 수 없으며 프로세스 내 캐시 전용입니다. XNUMX단계 캐시는 플러그형 아키텍처를 제공하며, 이는 타사 캐시를 Hibernate용 XNUMX단계 캐시로 사용할 수 있음을 의미합니다.

NCache Hibernate Second Level Cache 공급자를 구현하여 데이터베이스 실행 부하를 줄이고 SQL 트래픽을 최소화합니다. 이를 통해 코드 변경 없이 직접 구성할 수 있으며, 애플리케이션에서 즉시 캐시에 접근할 수 있습니다. NCache강력한 분산 캐싱 기능 모음입니다.

건축의 NCache 애플리케이션 세션과 데이터베이스 간의 Hibernate 2차 캐시(L2) 제공자 역할을 합니다.
그림 1 : NCache 최대 절전 모드를 위한 두 번째 수준 캐시 공급자로

설정 NCache 최대 절전 모드의 두 번째 수준 캐시로

설정 NCache Hibernate를 위한 XNUMX단계 캐시가 매우 쉽기 때문입니다. 실제 코드를 변경할 필요가 없습니다. 구성 파일만 편집하면 됩니다.

이제 추가하려면 NCache Hibernate용 Second Level Cache로서 hibernate.cfg.xml은 다음과 같은 방식으로 편집되어야 합니다.

  • 2nd 레벨 캐시는 다음을 설정하여 활성화해야 합니다. hibernate.cache.use_second_level_cache 재산을 사실로.
  • NCache 다음을 설정하여 Hibernate의 두 번째 수준 캐시 공급자로 구성해야 합니다. hibernate.cache.region.factory_class Hibernate 3.6 이상에 대한 JCacheRegionFactory 속성.

다음은 최대 절전 모드.cfg.xml 파일 :

<hibernate-configuration>
  <session-factory>
    <property name="hibernate.cache.use_second_level_cache">true</property>
    <property name="hibernate.cache.region.factory_class">JCacheRegionFactory</property>
    ...
</session-factory>
</hibernate-configuration>

캐시 영역 구성

최대 절전 모드는 캐시 영역 객체를 저장하기 위해. NCache 다른 속성으로 이러한 캐시 영역을 구성할 수 있습니다. 그만큼 NCache이를 위해 Hibernate.xml 파일이 사용된다. 이 파일에는 다음에서 사용하는 지역 및 관련 구성에 대한 모든 구성 설정 및 옵션이 포함되어 있습니다. NCache.

다음은 샘플입니다 NCache영역이 구성된 Hibernate.xml 구성 파일:

<configuration>
<application-config application-id="myapp" enable-cache-exception="true" default-region-name="DefaultRegion" key-case-sensitivity="false">
    <cache-regions>
        <region name="hibernator.BLL.Customer:Customer" cache-name="myPartitionedcache" priority="BelowNormal" expiration-type="Absolute" expiration-period="8"/>
        <region name="DefaultRegion" cache-name="myPartitionedcache" priority="default" expiration-type="none" expiration-period="0" />
    </cache-regions>
	...
</application-config>
</configuration>

데이터베이스 동기화 구성

NCache 는 .NET Framework, .NET Core 및 Java를 위한 다재다능하고 효율적이며 효과적인 분산 캐시입니다. 다양한 기능과 특징을 제공하며, 그중 하나는 데이터베이스 동기화 기능입니다. SQL 종속성. 여기에서 캐시는 데이터베이스의 변경 사항을 확인하고 오래되었거나 중복된 항목을 다시 로드하거나 제거합니다.

NCache Hibernate L2 캐시를 동기화하기 위해 네이티브 데이터베이스 알림(예: SQL 종속성 또는 Oracle 종속성)을 활용합니다. 이를 통해 타사 애플리케이션이 데이터베이스를 수정하는 경우, NCache 영향을 받는 Hibernate 엔티티를 자동으로 무효화하거나 다시 로드합니다. 이 기능을 활성화하려면 다음 변경 사항을 적용하십시오. NCache최대 절전 모드.xml 파일 :

<configuration>
<application-config application-id="myapp" enable-cache-exception="true" default-region-name="DefaultRegion" key-case-sensitivity="false">
  	... 
    <database-dependencies>
        <dependency entity-name="hibernator.BLL.Customer" type="oracle" sql-statement="select ContactName from Customer where CustomerID ='?'" cache-key-format="hibernator.BLL.Customer#[pk]" connection-string="Your Connection String"/>
    </database-dependencies>
</application-config>
</configuration>

Hibernate 쿼리 캐시 구성

최대 절전 모드는 다음과 같은 기능을 제공합니다. 쿼리 캐싱. 여기서 쿼리 결과는 Second Level Cache에 캐시됩니다. NCache 이 기능을 사용하여 이러한 쿼리를 캐시할 수 있습니다. 이 기능은 최대 절전 모드.cfg.xml 다음과 같은 방법으로 파일:

<hibernate-configuration>
  <session-factory>
  ...
  <property name="hibernate.cache.use_query_cache">true</property>
  </session-factory>
</hibernate-configuration>

쿼리 캐시를 활성화하면 기본적으로 각 쿼리가 캐시되지 않습니다. 대신 캐시해야 하는 쿼리는 코드에서 캐시 가능하도록 설정해야 합니다. 쿼리를 캐시 가능하게 설정하려면 쿼리를 생성하는 동안 쿼리의 setCacheable(true) 함수를 호출합니다. 아래 코드는 캐시 가능한 쿼리를 보여주는 예입니다.

List customerEnumerator = session.createQuery("from Customer c").setCacheable(true).list(); 

사용의 이점 NCache 최대 절전 모드의 두 번째 수준 캐시로

그 주된 이유는 다음과 같습니다. NCache 애플리케이션이 다중 서버 환경에서 실행되는 Hibernate의 Second Level Cache로 사용하기에 적합한 옵션입니다.

  • Java 애플리케이션용 캐시의 선형 확장성: NCache 수 선형 확장성 이 아키텍처는 런타임에 클러스터에 캐시 서버를 추가할 수 있도록 함으로써 스토리지 용량과 트랜잭션 처리량을 모두 향상시켜 사용자 부하가 증가하더라도 Hibernate 애플리케이션의 성능을 유지할 수 있도록 합니다.
  • 분산 캐싱 토폴로지를 통한 고가용성: NCache 매우 유연한 캐시입니다. 즉, 사용자에게 풍부한 캐시 세트를 제공합니다. 캐싱 토폴로지 미러 토폴로지, 복제 토폴로지, 파티션 토폴로지 및 파티션 복제 토폴로지와 같은. 각 토폴로지는 특정 시나리오와 요구 사항을 충족하므로 유연하게 사용할 수 있습니다.
  • 데이터베이스 동기화: 당신은 캐시를 데이터베이스와 동기화 SQL Server, Oracle 등. 그렇게 함으로써 캐시는 데이터베이스에서 변경 사항을 확인하고 해당 변경 사항을 기반으로 캐시에서 항목을 제거하거나 유지합니다. 이렇게 하면 캐시에 항상 최신 항목이 포함됩니다.
  • 지연 시간 감소를 위한 비차단 비동기 작업: 비동기 작업 에서 사용할 수 있습니다 NCache. 이러한 작업을 통해 캐시가 업데이트될 때까지 기다리지 않고 애플리케이션에서 작업할 수 있으므로 모든 것이 빨라집니다. 이러한 작업은 Hibernate로 활성화할 수 있습니다.

다음에 무엇을할지?

자주 묻는 질문 (FAQ)

구성 할 수 있습니다. NCache Hibernate 2차 캐시로 사용하려면 다음을 활성화하십시오. hibernate.cache.use_second_level_cache hibernate.cfg.xml 파일의 속성을 설정하고 hibernate.cache.region.factory_classJCacheRegionFactory이 설정은 애플리케이션 코드를 변경할 필요가 없습니다.

네! NCache Hibernate 쿼리 캐싱을 완벽하게 지원합니다. 활성화하려면 다음을 설정하세요. hibernate.cache.use_query_cache 재산 true 구성 파일에서 특정 쿼리를 Java 코드에서 캐시 가능하도록 표시하세요. setCacheable(true) 방법.

NCache SQL Server 및 Oracle과 같은 데이터베이스와 네이티브 데이터베이스 알림(SQL 종속성)을 사용하여 동기화합니다. 데이터베이스의 데이터가 변경되면, NCache 분산 캐시에 있는 해당 Hibernate 엔티티를 자동으로 무효화하거나 다시 로드하여 오래된 데이터가 쌓이는 것을 방지합니다.

네! NCache 이 라이브러리는 Hibernate 3.6부터 6.x 버전까지 호환됩니다. JCache(JSR-107) 표준을 활용하여 다양한 Java 환경에서 작동하는 분산 캐싱 공급자를 제공합니다.

NCache 이 솔루션은 런타임에 클러스터에 캐시 서버를 추가할 수 있도록 하여 Hibernate 애플리케이션에 선형적인 확장성을 제공합니다. 이러한 분산 아키텍처는 애플리케이션 다운타임 없이 스토리지 용량과 트랜잭션 처리량을 모두 향상시킵니다.

문의하기

전화

+1 214-619-2601 (미국)

© 저작권 Alachisoft 2002 - . 판권 소유. NCache 는 Diyatech Corp.의 등록상표입니다.