|
|
1
7
可靠的字典定期从内存中删除最近使用最少的值。这是为了使
折衷是,这会增加读取延迟:需要磁盘IO来检索未缓存在内存中的值。 有几个选项可以降低枚举的延迟。 键筛选枚举 CreateEnumerbleAsync 采用密钥筛选器的重载。键过滤器允许可靠的字典避免从磁盘检索与查询不匹配的键的值。这种方法的一个限制是TKey(因此其中的字段)无法更新。 使用通知的内存辅助索引 : Reliable Dictionary Notifications 可用于构建任意数量的二级索引。您可以构建一个二级索引,将所有值保存在内存中,从而交换内存资源以提供更低的读取延迟。此外,由于您可以完全控制辅助索引,因此可以保持辅助索引的有序性(例如,在您的示例中,通过与NameFirst相反)。 我们还正在考虑使可靠字典的内存TValue扫描策略可配置。这样,您将能够配置可靠的字典,以便在读取延迟是您的优先事项时将所有值保留在内存中。 由于在您的场景中,枚举中的大部分时间都花在磁盘IO上,因此您还可以使用 Custom Serializer 这可以减少磁盘和网络占用。 谢谢你的提问。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |