1

第一次使用 ServiceStack Redis。我环顾网络,找不到一个非常基本的 crud 示例。我发现最接近的是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 示例。我对身份证感到困惑。第 102 行生成一个魔术字符串别名,第 116 行创建一个数字 id。什么是别名,什么是 ID?当我得到实体(第 123 行)时,我使用的是哪一个?id可以是字符串吗?有没有办法使用字符串 id 获取条目?我应该转换为多头吗?

4

1 回答 1

2

许多ServiceStack 现场演示都有 Redis CRUD 示例。最简单的是Backbone Todos 实现的 Redis 后端。另请查看Redis StackOverflow 实现,这是一个很好的示例,展示了如何创建手动索引来维护参考数据。

于 2013-05-13T18:32:26.703 回答