NetCache는 간단하고 의존성 주입 친화적이고 지속적인 캐시 스토리지 라이브러리입니다.
NetCache는 .NET 애플리케이션을위한 캐싱 및 지속성을 갖춘 거의 은색 룰렛 솔루션을 제공하는 간단하고 빠른 라이브러리로 설계되었습니다. 나는 모든 최신 .NET 응용 프로그램에 대해 라이브러리를 기능하도록 설계했습니다.
Package Manager 콘솔에서 다음을 실행하거나 Visual Studio 또는 Rider의 Nuget 패키지 관리자를 통해 설치하십시오.
PM > Install-Package NetCache종속성 주입과 함께 NetCache를 사용하려면 다음 패키지도 설치해야합니다.
PM > Install-Package NetCache.DependencyInjection패키지를 서비스 수집에 주입하거나 NetCacher 클래스의 새 인스턴스를 만들어 패키지 사용을 시작할 수 있습니다.
var cacher = new NetCacher ( new NetCacherOptions ( ) ) ; // Create a new cacher with default options또는 종속성 주입으로
services . AddNetCacher ( opts =>
{
.. .
} ) ;첫째, 다음은 다음 예제에서 사용할 모의 수업입니다.
public class Mock
{
public string FirstName { get ; set ; }
public string LastName { get ; set ; }
public Mock ( string firstName , string lastName )
{
FirstName = firstName ;
LastName = lastName ;
}
} 이제 캐시에서 새 레코드 SetObject<TObj> 설정하려면 시작할 수 있습니다.
var myObj = new Mock ( "Foo" , "Bar" ) ;
cacher . SetObject < Mock > ( "myKey" , myObj , TimeSpan . FromMinutes ( 1 ) ) ;
// Object has been cached under the key 'myKey' for 1 minute before it expires 그리고 동일한 레코드를 얻으려면 아래와 같이 GetRecord<TObj> 메소드를 사용할 수 있습니다.
var myObj = cacher . GetObject < Mock > ( "myKey" ) ;
if ( myObj is null )
{
// No object was found in the cache, it could've expired or never existed
Console . WriteLine ( "No object found!" ) ;
return ;
}
Console . WriteLine ( myObj . FirstName ) ; // Foo어쩌면 기본 시리얼 라이저는 단지 당신을 위해 그것을 자르지 않으며 당신은 당신에게 특별히 맞춤형 솔루션을 제공하는 고유 한 사용자 정의 시리얼 라이저가 필요합니다. 문제 없음, 아래에서 사용자 정의 시리얼 라이저의 간단한 구현을 아래에서 찾으십시오.
public class CustomSerializer : ISerializer
{
public ReadOnlySpan < char > Serialize < TObj > ( TObj obj )
{
// ...
}
public TObj ? Deserialize < TObj > ( ReadOnlySpan < char > rawData )
{
// ...
}
}이것이 절대적으로 아무것도하지 않지만 직렬화 시스템에 자신의 요구 사항을 구축 할 수있는 충분한 공간을 쉽게 제공 할 수 있습니다. 라이브러리의 성능 속도를 높일 수도 있습니다 (이 경우 풀 요청을 엽니 다!).
MIT 라이센스에 따라 라이센스가 부여되고 현재 이러한 오픈 소스 패키지를 활용합니다.