基本上我们有一个redis实例,我们想从Redis列表中保存并获取所有项目。
我们可以保存它,但是当我们试图获取列表时
var redis = redisclient.As<MyModel>();
string key = "myredislistkey";
List<MyModel> mylist = redis.GetAllItemsFromList(key);
我知道这是错的,但为什么呢?以及如何使用redis密钥(或称为listid)将Typed客户端正确地用于Getallitems?
官方用法是
List<T> GetAllItemsFromList(IRedisList<T> fromList);
但如果我已经有了fromList,我为什么要尝试它呢?
答案 0 :(得分:1)
您可以使用以下内容获取对类型列表(即IRedisList<T>
)的引用
var redisModels = redisClient.As<MyModel>().List["myredislistkey"];
IRedisList<T>
只是一个通过远程redis LIST实现.NET IList<T>
接口的适配器,即它本身不包含任何元素,您可以使用它来与此列表进行交互,例如:
使用以下项目添加项目:
redisModels.Add(new MyModel { ... });
redisModels.AddRange(new[] { new MyModel { ... }, new MyModel { ... } });
获取所有元素:
var allModels = redisModels.GetAll();