【问题标题】:ServiceStack Redis CRUDServiceStack Redis CRUD
【发布时间】:2013-05-14 03:57:16
【问题描述】:

第一次使用 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 Example。我对身份证感到困惑。第 102 行生成一个魔术字符串别名,第 116 行创建一个数字 id。什么是别名,什么是 ID?当我得到实体(第 123 行)时,我使用的是哪一个? id可以是字符串吗?有没有办法使用字符串 id 获取条目?我应该转换成多头吗?

【问题讨论】:

    标签: redis servicestack


    【解决方案1】:

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

    【讨论】:

    • 在 StackOverflow 示例中,第 102 行生成一个魔术字符串别名,第 116 行创建一个数字 id。什么是别名,什么是 ID?当我得到实体(第 123 行)时,我使用的是哪一个? id可以是字符串吗?有没有办法使用字符串 id 获取条目?我应该转换为多头吗?感谢您的支持。
    • “魔术字符串别名”是一个自定义索引,允许您按名称查找用户(id 是自动维护的),就像第 110 行一样。
    • @mythz,与常规密钥相比,“id”的目的是什么?
    猜你喜欢
    • 2014-01-22
    • 2023-03-27
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 2015-01-29
    • 2014-07-25
    • 1970-01-01
    相关资源
    最近更新 更多