2013-05-13 2 views
1

처음으로 ServiceStack Redis를 사용합니다. 나는 웹을 둘러 보았고 아주 기본적인 예를 찾을 수 없었다. 내가 찾은 가장 가까운 것이 thisthis입니다. 만약 내가 제대로하고 있는지 궁금해. 감사.ServiceStack Redis CRUD

참고 : using 문을 사용한다고 가정합니다. 나는 StackOverflow가 내가 너무 많은 코드를 가지고 있다고 불평했기 때문에 그것을 꺼냈다. 사용 (var에 클라이언트 = RedisManager.GetClient() GetTypedClient().)

public class TestUser 
{ 
    public string UserName; 
} 

    public IEnumerable<TestUser> GetAll() 
    { 
     return client.Lists["Users"].AsQueryable(); 
    } 

    public void UpdateAll(IEnumerable<TestUser> users) 
    { 
     var list = client.Lists["Users"]; 
     foreach (var testUser in users) 
     { 
      client.SetEntry(testUser.UserName, testUser); 
      client.Store(testUser); 

      if (!list.Contains(testUser)) 
       list.Add(testUser); 
     } 
     client.SaveAsync(); 
    } 

    public TestUser Get(string username) 
    { 
     return client.GetById(username); 
    } 

    public void Update(TestUser model) 
    { 
     client.SetEntry(model.UserName, model); 
     client.Store(model); 
     client.SaveAsync(); 
    } 

    public void Delete(string username) 
    { 
     client.DeleteById(username); 
      client.SaveAsync(); 
    } 

편집 :StackOverFlow Example에서 찾고있다. 이드는 혼란스러워. 라인 (102)은 매직 스트링 별칭을 생성하고 라인 (116)은 숫자 ID를 생성한다. 별칭이란 무엇이고 이드는 무엇입니까? 내가 사용하는 엔티티 (123 행)를 얻을 때? 이드는 문자열 일 수 있습니까? 문자열 ID를 사용하여 항목을 가져 오는 방법이 있습니까? 나는 longs로 변환해야합니까?

답변

1

ServiceStack live demos에는 Redis CRUD 예제가 많이 있습니다. 가장 쉬운 방법은 Backbone Todos implementation의 Redis 백엔드입니다. 참조 데이터를 유지하기 위해 수동 색인을 만드는 방법을 보여주는 좋은 예인 Redis StackOverflow implementation을보십시오.

+0

StackOverflow 예제에서 102 행은 마법 문자열 별칭을 생성하고 116 행은 숫자 ID를 만듭니다. 별칭이란 무엇이고 이드는 무엇입니까? 내가 사용하는 엔티티 (123 행)를 얻을 때? 이드는 문자열 일 수 있습니까? 문자열 ID를 사용하여 항목을 가져 오는 방법이 있습니까? 나는 longs로 변환해야합니까? 지원해 주셔서 감사합니다. – nVentimiglia

+1

"magic string alias"는 110 행처럼 사용자가 이름으로 사용자를 조회 할 수있는 사용자 정의 색인입니다 (id는 자동으로 유지 관리됩니다). – mythz

관련 문제