我需要存储一系列项目(C#type in-memory),它们包含许多字段,例如:语言,所有者,密钥等。我想以允许快速过滤的方式存储这些项目。例如。我可能希望所有条目 language =" en" AND key =" key1" 。它不会被经常过滤,其大小可能大约为10k条目,简单的列表/字典是否足够?我很好奇如何解决这个问题,但更大的列表会被更频繁地过滤。
答案 0 :(得分:0)
如果将其存储在内存中并且没有那么多的过滤变体,您可以创建基于字典的数据结构。
另一种不使用经典关系数据库的解决方案是使用Lucene.net,它是一个非常快速的搜索引擎库。虽然它有一个陡峭的学习曲线和一个有改进空间的文档;-) https://www.nuget.org/packages/Lucene.Net/
或 - 只需使用经典数据库并正确设置索引。