我是服务堆栈 redis api 的新手。所以我在使用服务堆栈redis api时有点困惑。我想知道 IRedisTypedClient"<"T">"?
1) "<"T">" 代表什么?
2)我们可以在"<"T">"中传递哪些参数?
1505 次
1 回答
2
IRedisTypeClient接口提供了 Redis 客户端 API 的类型化版本,其中所有 API 接受类型化POCO(即普通旧 CSharp 对象)作为其值主体,这与仅接受原始字符串的IRedisClient形成对比。在幕后,Typed API 只是将 POCO 序列化为 JSON 字符串,但它的 typed API 在处理丰富的复杂类型时提供了更好的 API。
创建a的APIIRedisTypeClient<T>
是使用IRedisClient.As<T>
API,例如:
public class Todo
{
public long Id { get; set; }
public string Content { get; set; }
public int Order { get; set; }
public bool Done { get; set; }
}
IRedisClient redis = redisManager.GetClient();
var redisTodos = redis.As<Todo>();
如上所示,您可以从任何用户定义的 POCO 创建类型化 API,它现在提供 API 让您可以直接使用原生Todo
类型,例如:
var todo = new Todo
{
Id = redisTodos.GetNextSequence(),
Content = "Learn Redis",
Order = 1,
};
redisTodos.Store(todo);
Todo savedTodo = redisTodos.GetById(todo.Id);
savedTodo.Done = true;
redisTodos.Store(savedTodo);
"Updated Todo:".Print();
redisTodos.GetAll().ToList().PrintDump();
这个示例有一个独立版本,还有一个带有 Redis 后端的 Backbones TODO 应用程序的 Live Demo,它使用了 RedisClient Typed API。
于 2014-12-01T14:52:07.553 回答