2013-05-13 61 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。我對Id的感到困惑。線102生成魔術串別名,線116創建數字ID。什麼是別名,什麼是Id?當我得到實體(第123行)時,我正在使用哪一個? id可以是一個字符串嗎?有沒有辦法使用字符串ID獲取條目?我應該轉換爲多頭?

回答

1

許多ServiceStack live demos都有Redis CRUD示例。最簡單的是Backbone Todos implementation的Redis後端。另請參閱Redis StackOverflow implementation這是一個很好的示例,展示瞭如何創建手動索引來維護引用數據。

+0

在StackOverflow示例中,第102行生成一個魔術字符串別名,第116行創建一個數字ID。什麼是別名,什麼是Id?當我得到實體(第123行)時,我正在使用哪一個? id可以是一個字符串嗎?有沒有辦法使用字符串ID獲取條目?我應該轉換爲多頭?感謝您的支持。 – nVentimiglia 2013-05-13 19:55:04

+1

「魔術串別名」是一個自定義索引,允許您按名稱查找用戶(id自動保留),就像第110行一樣。 – mythz 2013-05-13 20:01:00

相關問題