2014-12-01 2 views
-1

서비스 스택 redis api를 처음 사용했습니다. 그래서 서비스 스택 redis api를 사용하는 동안 조금 혼란스러워지고 있습니다. IRedisTypedClient "<"T ">"을 알고 싶습니다.
1) "<"T ">"의 약자는 무엇입니까?
2) "<"T ">"에서 전달할 수있는 매개 변수는 무엇입니까?ServiceStack Redis API를 사용하는 방법?

답변

0

IRedisTypeClient 인터페이스는 원시 문자열을 받아 IRedisClient 대조적이다 가치의 몸에 모든 API가의가 입력 POCOs (즉, 일반 올드 CSHARP 개체를) 수락 레디 스 클라이언트 API의 형식화 된 버전을 제공합니다. 배후에서 Typed API는 POCO를 JSON 문자열로 직렬화하지만 입력 된 API는 풍부한 복합 유형을 처리 할 때 사용할 수있는 더 나은 API를 제공합니다.

이 API는 IRedisTypeClient<T>IRedisClient.As<T> API를 사용하는 것입니다 만드는 방법, 예를 들면 :

당신은 지금 당신이 작업 할 수 있습니다 API의의를 제공하는 사용자 정의 POCO에서 입력 된 API를 만들 수 있습니다 위에서 본 바와 같이
public class Todo 
{ 
    public long Id { get; set; } 
    public string Content { get; set; } 
    public int Order { get; set; } 
    public bool Done { get; set; } 
} 

IRedisClient redis = redisManager.GetClient(); 
var redisTodos = redis.As<Todo>(); 

직접 네이티브 Todo 유형, 예를 들면 :

var todo = new Todo 
{ 
    Id = redisTodos.GetNextSequence(), 
    Content = "Learn Redis", 
    Order = 1, 
}; 

redisTodos.Store(todo); 

Todo savedTodo = redisTodos.GetById(todo.Id); 
savedTodo.Done = true; 
redisTodos.Store(savedTodo); 

"Updated Todo:".Print(); 
redisTodos.GetAll().ToList().PrintDump(); 

stand-alone version of this example뿐만 아니라 RedisClient 형식화 된 API를 사용합니다 Backbones TODO app with a Redis backend의 라이브 데모가있다.

+0

Visual Studio 2010 .NET Framework 4.0을 사용하고 있습니다. 나는 NuGet에 의해 servicestack API를 포함시켰다. 이 환경에서 여전히 POCO는 JSON 문자열 또는 다른 것으로 직렬화됩니까? –

+0

@Immanuel POCO 's는 항상 장면 뒤에서 JSON으로 직렬화되지만, 이것은 당신이 걱정할 필요가없는 단순한 세부 사항 일뿐입니다. – mythz

+0

우리는 stackservice redis를 사용하는 모든 플랫폼에서 poco가 항상 JSON으로 직렬화됩니까? –