【发布时间】:2017-04-21 20:49:54
【问题描述】:
在可靠集合(特别是 IReliableDictionary)中,实现“常见”查询的一种方法是更新辅助字典,该字典将键构造为在枚举中以特定方式排序。对于大型数据集,我希望避免穿梭大量数据。
为了实现这一点,我想实现某种延续令牌,调用者可以在请求数据时提供给我。我目前正在通过首先生成一个有序枚举并返回前 n 个项目来实现这一点,其中 n = MAX_PAGE 大小。 延续本质上是 n 项列表中的最后一个键。下次调用者传入延续令牌时,我使用过滤器函数生成有序可枚举,指定键应大于延续。
这有两个问题(我可以看到):
- 集合可能会在调用者首次请求页面和后续请求之间发生变化。我不确定我是否可以避免这种情况,因为无论谁试图翻阅数据,都需要能够随时更新集合。
- 我不确定如何使用过滤器功能。我假设由于开发人员可以过滤任何内容,GetEnumerableAsync() 方法必须在返回可枚举之前提供字典中的所有键。对于足够大的数据集,这似乎很慢。
对于这样的分页数据是否有任何规定的方法?我开始觉得我可能会在我的某些用例中使用 Reliable Collections 找出错误的树。
【问题讨论】:
标签: azure microservices azure-service-fabric service-fabric-stateful