如何使用服务栈类型的客户端

本文关键字:客户端 类型 何使用 服务 | 更新日期: 2023-09-27 18:11:00

基本上我们有一个redis实例,我们想从redis列表中保存和获取所有项目。

我们可以保存它,但是当我们试图获取列表

var redis = redisclient.As<MyModel>();
string key = "myredislistkey";
List<MyModel> mylist = redis.GetAllItemsFromList(key);

我知道这是错误的,但为什么?以及如何正确使用类型化客户端使用redis键(或所谓的listid)来获取项目?

官方用法是

List<T> GetAllItemsFromList(IRedisList<T> fromList);

但是如果我已经有fromList,为什么我要尝试得到它?

如何使用服务栈类型的客户端

您可以使用以下命令获取对类型化列表(即IRedisList<T>)的引用:

var redisModels = redisClient.As<MyModel>().List["myredislistkey"];

IRedisList<T>只是一个适配器,实现了。net IList<T>接口的远程redis列表,也就是说,它本身不包含任何元素,你将使用它与这个列表接口,例如:

用:

添加条目
redisModels.Add(new MyModel { ... });
redisModels.AddRange(new[] { new MyModel { ... }, new MyModel { ... } });

并获取所有带有:

的元素
var allModels = redisModels.GetAll();