第一次使用 ServiceStack Redis。我环顾网络,找不到一个非常基本的 crud 示例。我发现最接近的是this和this。只是想知道我是否做得对。谢谢。
注意:假设我使用的是 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 获取条目?我应该转换为多头吗?