存储将被过滤的数据(内存)的最佳方法是什么?

时间:2016-04-26 07:29:17

标签: c# algorithm sorting data-structures filtering

我需要存储一系列项目(C#type in-memory),它们包含许多字段,例如:语言,所有者,密钥等。我想以允许快速过滤的方式存储这些项目。例如。我可能希望所有条目 language =" en" AND key =" key1" 。它不会被经常过滤,其大小可能大约为10k条目,简单的列表/字典是否足够?我很好奇如何解决这个问题,但更大的列表会被更频繁地过滤。

1 个答案:

答案 0 :(得分:0)

如果将其存储在内存中并且没有那么多的过滤变体,您可以创建基于字典的数据结构。

另一种不使用经典关系数据库的解决方案是使用Lucene.net,它是一个非常快速的搜索引擎库。虽然它有一个陡峭的学习曲线和一个有改进空间的文档;-) https://www.nuget.org/packages/Lucene.Net/

或 - 只需使用经典数据库并正确设置索引。