首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内存缓存- SQLite与System.Data.DataTable

内存缓存- SQLite与System.Data.DataTable
EN

Stack Overflow用户
提问于 2012-12-10 04:44:20
回答 2查看 2K关注 0票数 1

我正处于设计C#内存缓存的初始阶段(它将作为windows服务运行)。一旦投入生产,预计平均可容纳近100万个对象(各种类型)。一些缓存项的大小可以高达10 in (或更多)。我考虑了各种各样的数据解决方案,现在我决定将DataTable或SQLite内存实例作为缓存存储。在这一点上我的问题是

  1. 您认为DataTable的性能将如何与这么多的记录?
  2. 您认为使用SQLite解决方案是过分的吗?(由于SQLite是作为“数据库”设计的,所以我可能并不想要所有与数据库相关的管道活动)

对我来说,表现是最重要的。

编辑

增加更多细节。

  1. 这些缓存项不仅仅是键值对,它们还有另外两个属性(固定项和锁定项),这会影响它们的可用性。每次查找都将包括这三个属性。
  2. Memcached已经被考虑过,但是在这一点上,这并不是一个选项,主要是因为我们的SLA约束(这是我能说的全部)。
  3. 不是所有的项目都有10 in的大小。
  4. 我非常肯定,这些项目中的许多将仅仅是数值和小字符串值。
  5. 我相信,内存的可用性不是一个问题。

提前谢谢你,詹姆斯

EN

回答 2

Stack Overflow用户

发布于 2012-12-10 05:17:17

1:太可怕了。DataTbles速度慢,内存占优势,对于大型物品来说不会神奇地改变。

你告诉我们。

你考虑过用一本简单的字典吗?键/值对,你知道的。

答案实际上取决于你计划如何处理缓存。

票数 2
EN

Stack Overflow用户

发布于 2012-12-10 13:51:59

如果每项为1MB,则为1TB内存。

你有1TB的记忆来做这件事?

固态磁盘上的数据库可能是一个更好的设计。

DataTable又大又慢。

你打算怎么查这些东西?

你想要一把完整的钥匙吗?

你会有足够的纪念吗?

如果是字典的话。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13795123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档