IDistributedCache ASP.NET Core용 공급자

ASP.NET 앱 향상

기존 ASP.NET 프레임워크는 다음에 의존했습니다. ASP.NET 캐시는 단일 서버(InProc)로 제한되었고 다중 서버 환경을 지원하지 않았습니다. 또한 타사 분산 캐시와의 통합도 불가능했습니다. 결과적으로 개발자들은 비효율적인 독립형 캐싱 메커니즘에 의존할 수밖에 없었습니다.

마이크로소프트는 ASP.NET Core를 통해 이러한 문제들을 해결했으며, 이를 위해 다음과 같은 기능을 도입했습니다. IDistributedCache확장 가능한 다중 서버 캐싱 솔루션을 위한 인터페이스입니다. NCache IDistributedCache와 쉽게 통합할 수 있어 ASP.NET Core 애플리케이션에 고성능을 제공합니다. 기능이 풍부한 캐싱 계층.

 

IDistributedCache란 무엇인가요?

IDistributedCache 인터페이스는 여러 서버에서 작동하는 중앙 집중식 캐싱 메커니즘을 제공하므로 클라우드 기반에 이상적입니다. 컨테이너화예산 및 마이크로서비스 기반 아키텍처. 표준 인터페이스는 계약을 정의하는 반면, NCache 이 솔루션은 서버 재시작 시에도 데이터가 유지되고 트래픽에 따라 선형적으로 확장되는 실제 분산 구현을 제공합니다.

using Microsoft.Extensions.Caching.Distributed;
using System.Threading;
using System.Threading.Tasks;

public interface IDistributedCache
{
    byte[]? Get(string key);
    Task<byte[]?> GetAsync(string key, CancellationToken token = default);
    void Refresh(string key);
    Task RefreshAsync(string key, CancellationToken token = default);
    void Remove(string key);
    Task RemoveAsync(string key, CancellationToken token = default);
    void Set(string key, byte[] value, DistributedCacheEntryOptions options);
    Task SetAsync(string key, byte[] value, DistributedCacheEntryOptions options, CancellationToken token = default);
}
 

왜 선택 하는가? NCache IDistributedCache에 대한 질문

다음과 같은 많은 캐싱 솔루션 메모리분산캐시, 단일 서버로 제한되므로 필요한 애플리케이션에 적합하지 않습니다. 확장 성 고 가용성. NCache반면, 는 .NET 애플리케이션을 위해 특별히 설계된 진정한 분산 캐싱 솔루션으로 더 나은 성능과 확장성을 보장합니다.

주요 이점 NCache

  • 100% 네이티브 .NET - 완벽하게 호환되며 최적화됨 .NET 애플리케이션.
  • 고성능 및 확장성 - 빠른 데이터 검색이 가능하고 원활한 수평 확장성을 지원합니다.
  • 고급 캐싱 기능 - SQL 쿼리, Pub/Sub 메시징을 지원합니다. 캐시 동기화.
  • 높은 가용성 및 안정성 - 내장된 장애 조치 지원으로 데이터 일관성을 보장합니다.
  • 최적화된 직렬화 - 효율적인 직렬화를 통해 대기 시간을 줄이고 성능을 향상시킵니다.

유기성 NCache IDistributedCache와의 통합

통합 NCache ASP.NET Core 애플리케이션에서 사용하는 것은 간단합니다. 플러그인을 사용하면 됩니다. NCache 기존 애플리케이션 로직을 수정하지 않고도 가능합니다. 이를 통해 메모리 내 캐싱에서 고가용성 분산 캐시로 원활하게 전환할 수 있습니다.

 

구성 NCache IDistributedCache 공급자로서

  • 1 단계 : NuGet 패키지 설치 패키지 관리자 콘솔에서 다음 명령을 실행하여 IDistributedCache 공급자를 설치하십시오.
    Install-Package Alachisoft.NCache.DistributedCache
  • 2 단계 : 회원가입 NCache in 프로그램.cs 회원가입 NCache ASP.NET Core 애플리케이션의 시작 파일에 다음과 같이 추가합니다.
var builder = WebApplication.CreateBuilder(args);
// Register NCache as the IDistributedCache provider
// Benefits: Multi-server scalability, High Availability, and 100% Native .NET

builder.Services.AddNCacheDistributedCache(options =>
{
    options.CacheName = builder.Configuration["NCache:CacheName"];
	 
   // NCache settings can be dynamically adjusted in appsettings.json
   // ensuring zero-downtime configuration changes
});

var app = builder.Build();
app.MapControllers();
app.Run();

또는 다음을 구성할 수 있습니다. NCache 인간을 앱 설정.json 파일 및 로드 설정을 동적으로 적용:

{
    "NCacheSettings": {
        "CacheName": "myCache",
        "EnableLogs": true,
        "EnableStatistics": true
    }
}

이를 통해 운영 환경에서 확장성, 내결함성 및 높은 가용성이 보장됩니다.

 

NCache API: IDistributedCache보다 훨씬 풍부함

The IDistributedCache 인터페이스는 기본적인 키-값 저장소를 제공하는데, 유용하지만 기능이 상당히 제한적입니다. NCache 강력하고 분산된 기업용 캐싱을 구현하는 광범위하고 고성능 캐싱 API를 제공하여 한 단계 더 나아갑니다.

제품 특장점 표준 IDistributedCache(Basic) NCache API(기업)
쿼리 유연성 키-값 조회 전용 SQL 및 LINQ 쿼리
데이터 구성 평평한 구조 태그 및 명명된 태그
데이터 무결성 독립 항목 캐시 종속성(관계)
실시간 메시징 지원되지 않음 게시/구독 메시징
데이터베이스 동기화 수동 코딩 필요 자동 읽기/쓰기
데이터 가용성 시작 시 비어 있음 캐시 로더 및 리프레셔
 

주요 장점 NCache API

  • 태그, 명명된 태그 - 유연한 태그 지정 메커니즘을 사용하여 캐시된 데이터를 효율적으로 구성합니다.
  • 캐시에 대한 SQL 쿼리 - 효율적으로 데이터를 검색하세요 링크 또는 SQL 기반 쿼리.
  • 캐시의 데이터 관계 - 오래된 데이터를 방지하기 위해 객체 종속성을 유지하세요.
  • 게시/구독 메시징 - 애플리케이션 간에 실시간 이벤트 기반 통신을 활성화합니다.
  • 읽기 및 쓰기 - 캐시 채우기 및 데이터베이스 업데이트를 자동화합니다.
  • 로더/리프레셔 - 시작 시 참조 데이터를 캐시에 미리 로드하고 주기적으로 새로 고쳐서 자주 사용하는 데이터를 항상 사용할 수 있고 최신 상태로 유지합니다.

을 사용해서 바이 NCache API를 통해 조직은 IDistributedCache의 한계를 극복하여 .NET 애플리케이션에 대한 향상된 성능, 유연성 및 엔터프라이즈급 캐싱 기능을 활용할 수 있습니다.

 

NCache 오늘!

고성능 분산 캐싱으로 ASP.NET Core 애플리케이션을 최적화할 준비가 되셨나요? 지금 바로 살펴보세요. NCache 강력한 기능을 활용하세요.

자주 묻는 질문 (FAQ)

아니요. NCache 이 클래스는 표준 IDistributedCache 인터페이스를 구현하므로 Program.cs 파일의 설정만 변경하면 됩니다. 비즈니스 로직 변경은 필요하지 않습니다.

NCache 데이터를 메모리(RAM)에 저장하므로 SQL Server의 디스크 기반 저장소보다 훨씬 빠릅니다. 또한 SQL 기반 캐싱과 관련된 직렬화 오버헤드 및 네트워크 지연 시간을 제거합니다.

네. SetAsync, GetAsync, RemoveAsync와 같은 표준 메서드를 계속 사용할 수 있습니다. 하지만, NCache 또한 캐시 인스턴스를 ICache로 캐스팅하여 태그 및 SQL 쿼리와 같은 고급 기능을 사용할 수 있습니다.

문의하기

전화

+1 214-619-2601 (미국)

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