我正处于在C#中设计内存缓存的最初阶段(它将作为Windows服务运行)。一旦投入生产,预计平均可容纳近百万件物品(各种类型)。某些缓存项目的大小最多可达10MB(或更多)。 我考虑了各种数据sotrage解决方案,现在我决定使用DataTable或SQLite内存实例作为缓存存储。此时我的问题是
性能是我的首要任务。
修改
添加更多细节。
提前致谢, 詹姆斯
答案 0 :(得分:2)
1:可怕。 DataTbles很慢而且记忆力很大,对于大件物品来说,它们不会神奇地改变 2:你告诉我们。
您是否考虑过使用简单的字典?键/值对,你知道。
答案真的取决于你计划用缓存做什么。
答案 1 :(得分:1)
如果每个项目都是1 MB,即1 TB的内存 你有1 TB的内存专用于此吗? 固态磁盘上的数据库可能是更好的设计。
DataTable很大而且很慢。
你怎么看待这些物品?
你有完整的钥匙吗?
你会有足够的记忆吗?
如果这样字典。