-1

我是服务堆栈 redis api 的新手。所以我在使用服务堆栈redis api时有点困惑。我想知道 IRedisTypedClient"<"T">"?
1) "<"T">" 代表什么?
2)我们可以在"<"T">"中传递哪些参数?

4

1 回答 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 回答