애플리케이션에서 자주 사용하는 데이터를 캐싱하는 것은 매우 유능한 조치입니다. 그러나 캐시된 데이터가 Oracle 데이터베이스와 동기화된 상태를 유지하는지 확인하는 것이 딜레마입니다. 이를 극복하는 비결은 항목의 TTL(Time To Live)을 추측한 다음 캐시하는 데이터 만료를 사용하는 것입니다.

이 계획이 얼마나 인기가 있든 간에, 이는 해당 항목이 데이터베이스에서 변경되지 않은 상태로 얼마나 오래 유지될 것인지에 대한 단순한 추측일 뿐입니다. 그리고 추측이 항상 정확한 것은 아닙니다. 애플리케이션이 부정확한 데이터를 가져와서 처리하는 것이 목적을 반박하는 데이터에 민감한 경우 만료를 사용하면 많은 비용이 듭니다.

이 곤경에서 구하는 것은 캐시에서 다음과 같은 데이터베이스 동기화 메커니즘을 사용하는 것입니다. NCache, Oracle 데이터베이스에서 업데이트된 경우 해당 캐시 데이터를 자동으로 제거합니다.

NCache 세부 정보                 데이터베이스에 대한 캐시 종속성               데이터 만료 기술

 

사용 NCache Oracle 서버와 동기화하려면

Oracle Dependency는 데이터베이스에서 데이터 세트가 변경될 때 모든 데이터베이스 클라이언트에 알리는 이벤트 알림을 사용합니다. 백엔드 정보: NCache Oracle Server의 클라이언트로 자신을 등록하기 위해 이 기능을 사용합니다. 즉, Oracle 데이터 세트의 데이터가 변경될 때마다 NCache 자동으로 알려줍니다. 이 정보를 이용하여, NCache 캐시된 모든 항목의 맵을 해당 데이터 세트와 함께 유지합니다. 그래서, 언제든지 NCache 변경 알림을 받으면 캐시에서 해당 캐시 항목을 무효화하고 다음에 클라이언트 앱이 요청할 때 업데이트된 항목을 가져옵니다.

동조-ncache-신탁

그림: 동기화 NCache 오라클 서버와 함께

동기화하자 NCache 오라클 서버와 함께

전자상거래 애플리케이션(.NET Core 기반) 모든 성공은 정확성에 있습니다. 수천 명의 클라이언트가 매분 온라인 쇼핑을 위해 이 응용 프로그램에 액세스하므로 이 응용 프로그램의 데이터가 캐시되었습니다.

이제 매우 일반적인 시나리오를 가정해 보겠습니다. 고객A 상점에 있던 마지막 Xbox Series X를 샀습니다. 앱 서버는 데이터베이스에서 해당 항목의 수량을 제거하지만 캐시는 여전히 이 변경 사항을 인식하지 못합니다. 이러한 불일치는 다음과 같은 경우 고객의 분노를 유발합니다. 고객B 같은 제품을 좋아하고 비용을 지불하고 결제 성공 메시지로 알림을 받았지만 최신 Xbox 시리즈 X를 받지 못했습니다.

여기서 애플리케이션이 기본 Oracle 데이터베이스에서 데이터가 변경될 때마다 데이터 무결성 문제에 직면하지 않도록 하려면, NCache 의 지원을 제공합니다 오라클 종속성.

이 종속성 기능을 사용하려면 NCache 다음을 사용하여 Oracle 쿼리를 매개변수화할 수 있습니다. OracleCache의존성 런타임에 매개변수 값을 취하는 메소드. 이렇게 하면 쿼리가 Oracle Server에서 컴파일되어야 하는 횟수가 줄어들어 애플리케이션의 성능이 XNUMX배 향상됩니다.

NCache 세부 정보                 Oracle에 대한 캐시 종속성                     Oracle 환경 설정

 

OracleCacheDependency로 할 수 있는 일이 훨씬 더 많습니다. 다음은 이 Oracle 종속성과 함께 지원되는 몇 가지 매우 유용한 기능 목록입니다.

Read-Thru 공급자를 통해 캐시 항목 자동 다시 로드

OracleCacheDependency는 데이터 소스에서 캐시 항목이 변경되면 이를 무효화하는 역할을 합니다. NCache 제공 지원 소스 공급자를 통해 읽기 캐시를 무효화할 뿐만 아니라 Oracle 서버에서 변경된 항목의 최신 버전을 가져오기를 원하는 경우. 와 함께 읽어보기 옵션 활성화, NCache 전화 리드스루 공급자는 Oracle Server가 캐시에 변경 사항을 알릴 때마다 업데이트된 데이터를 가져옵니다.

다음 코드는 이 기능을 달성하는 방법을 설명합니다.

NCache 세부 정보                 Oracle에 대한 캐시 종속성                     판독 제공자

 

저장 프로시저 기반 Oracle 종속성

NCache 지원 저장 프로시저 기반 Oracle 종속성 기본 설정이 모든 Oracle 쿼리를 Oracle 데이터베이스 내에 유지하는 것이라면. 이러한 저장 프로시저는 Oracle 서버에서 사전 컴파일되며 동적 Oracle 쿼리보다 훨씬 빠르게 실행됩니다.

Oracle에서 저장 프로시저를 생성하려면 다음 예를 참조하십시오.

.NET 애플리케이션에서 이 저장 프로시저를 호출하는 것은 쉽습니다. 다음 스니펫을 예로 사용하십시오.

 

NCache 세부 정보                 Oracle에 대한 캐시 종속성                     저장 프로시저를 사용한 Oracle 종속성

동기화해야 하는 이유 NCache 오라클 서버와?

아무도 자신이 열심히 일한 애플리케이션이 오래된 데이터를 처리하기 때문에 실패하는 것을 원하지 않습니다. 당신은 사업을 잃고 그런 식으로 직면합니다. 하지만 NCache, 훨씬 더 쉽게, 당신의 캐시를 오라클 데이터베이스와 동기화된 상태로 유지하는 Oracle Dependency를 제공하여 이익을 위해 사용하는 캐시가 실패하지 않도록 합니다.

NCache 세부 정보                                다운로드 NCache                          판 비교