NCache 비용이 많이 드는 데이터베이스 이동을 줄이기 위해 애플리케이션 데이터를 캐시하는 .NET용 매우 빠르고 확장 가능한 메모리 내 분산 캐시입니다. 당신이 사용할 수있는 NCache 데이터 스토리지 및 데이터베이스 확장성과 관련된 성능 병목 현상을 제거합니다.
이러한 캐시를 사용하는 가장 일반적인 방법은 애플리케이션이 데이터베이스/데이터 소스에서 데이터를 읽은 다음 이를 캐시하도록 하는 것입니다. 그런 다음 애플리케이션이 데이터베이스에서 이 데이터를 업데이트할 때 캐시도 업데이트하여 캐시가 데이터베이스와 동기화되도록 합니다.
더욱이, NCache 데이터 소스 공급자(읽기/쓰기/뒤에 쓰기)라는 데이터 읽기 및 쓰기를 위한 또 다른 매우 강력한 메커니즘을 제공합니다. NCache 데이터베이스에서 데이터를 읽고 씁니다.
세 가지 방법을 사용할 수 있습니다 NCache 이 맥락에서:
Read-through, Write-through 및 Write-behind를 사용하면 다음과 같은 몇 가지 이점을 얻을 수 있습니다. NCache.
다음은 Read-through, Write-through 및 Write-behind의 몇 가지 주요 기능입니다. NCache.
연속 읽기 및 연속 쓰기 처리기용 코드를 개발하는 과정은 간단합니다. 다음은 두 가지 모두에 대한 인터페이스의 예입니다.
public interface IReadThruProvider
{
void Init(IDictionary parameters, string cacheId);
ProviderCacheItem LoadFromSource(string key);
IDictionary<string, ProviderCacheItem> LoadFromSource(ICollection<string> keys);
ProviderDataTypeItem<IEnumerable> LoadDataTypeFromSource(string key, DistributedDataType dataType);
void Dispose();
}
public interface ReadThruProvider extends java.lang.AutoCloseable
{
void init(java.util.Map<java.lang.String,java.lang.String> parameters, java.lang.String cacheId) throws java.lang.Exception;
ProviderCacheItem loadFromSource(java.lang.String key) throws java.lang.Exception;
java.util.Map<java.lang.String,ProviderCacheItem> loadFromSource(java.util.Collection<java.lang.String> keys) throws java.lang.Exception;
ProviderDataStructureItem loadDataStructureFromSource(java.lang.String key, DistributedDataStructureType distributedDataStructureType) throws java.lang.Exception;
}
public interface IWriteThruProvider
{
void Init(IDictionary parameters, string cacheId);
OperationResult WriteToDataSource(WriteOperation operation);
ICollection<OperationResult> WriteToDataSource(ICollection<WriteOperation> operations);
ICollection<OperationResult> WriteToDataSource(ICollection<DataTypeWriteOperation> dataTypeWriteOperations);
void Dispose();
}
public interface WriteThruProvider extends java.lang.AutoCloseable
{
void init(java.util.Map<java.lang.String,java.lang.String> parameters, java.lang.String cacheId) throws java.lang.Exception;
OperationResult writeToDataSource(WriteOperation operation) throws java.lang.Exception;
java.util.Collection<OperationResult> writeToDataSource(java.util.Collection<WriteOperation> operations) throws java.lang.Exception;
java.util.Collection<OperationResult> writeDataStructureToDataSource(java.util.Collection<DataStructureWriteOperation< dataStructureWriteOperations) throws java.lang.Exception;
}