gpt4 book ai didi

c# - 内存缓存 - SQLite 与 System.Data.DataTable

转载 作者:行者123 更新时间:2023-12-01 19:52:38 25 4
gpt4 key购买 nike

我正处于用 C# 设计内存缓存的最初阶段(它将作为 Windows 服务运行)。一旦投入生产,预计平均可容纳近一百万个物体(各种类型)。某些缓存项目的大小可达 10MB(或更大)。我考虑了各种数据存储解决方案,现在决定使用 DataTable 或 SQLite 内存实例作为缓存存储。此时我的问题是

  1. 您认为包含这么多记录的 DataTable 的性能如何?
  2. 您认为使用 SQLite 解决方案是否太过分了?(由于 SQLite 被设计为“数据库”,我可能并不真正想要所有与数据库相关的管道事件)

性能对我来说是最重要的。

编辑

添加更多细节。

  1. 这些缓存项不仅仅是键值对,它们还有两个(截至目前)属性(固定和锁定的项目),这可能会影响他们的可用性。每次查找都将包括所有三个属性。
  2. Memcached 已被考虑过,但目前还不是一个可行的方案选项主要是由于我们的 SLA 限制(这就是我能说的它)。
  3. 并非所有项目的大小都是 10MB。
  4. 我很确定其中许多项目只是数字和小字符串值。
  5. 我相信,RAM 的可用性不是问题。

提前致谢,詹姆斯

最佳答案

1:太糟糕了。 DataTble 速度慢且占用内存,对于大型项目不会神奇地更改。
2:你告诉我们。

您是否考虑过使用简单的字典?键/值对,你知道。

答案实际上取决于您计划如何使用缓存。

关于c# - 内存缓存 - SQLite 与 System.Data.DataTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13795123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com