ServiceStack Redis CRUD

时间:2013-05-13 16:58:47

标签: redis servicestack

首次使用ServiceStack Redis。我环顾网络,找不到一个非常基本的例子。我找到的最近的是thisthis。只是想知道如果我做得对。感谢。

注意:假设我使用的是using语句。我把它拿出来是因为StackOverflow抱怨说我的代码太多了。 使用(var client = 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?当我得到实体(第123行)我使用的是哪一个? id可以是一个字符串吗?有没有办法使用字符串ID获取条目?我应该转换为多头吗?

1 个答案:

答案 0 :(得分:1)

许多ServiceStack live demos都有Redis CRUD示例。最简单的是Backbone Todos implementation的Redis后端。另请参阅Redis StackOverflow implementation,这是一个很好的示例,说明如何创建手动索引来维护引用数据。