1

基本上我们有一个 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,我为什么还要尝试获取它呢?

4

1 回答 1

2

您可以通过以下方式获得对类型列表(即IRedisList<T>)的引用:

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

IRedisList<T>只是一个IList<T>通过远程 redis LIST 实现 .NET 接口的适配器,即它本身不包含任何元素,您可以使用它来与此列表交互,例如:

使用以下命令向其中添加项目:

redisModels.Add(new MyModel { ... });
redisModels.AddRange(new[] { new MyModel { ... }, new MyModel { ... } });

并通过以下方式获取所有元素:

var allModels = redisModels.GetAll();
于 2015-09-03T04:03:54.540 回答