我正在寻找解决方案以缓存大量数据。c支持磁盘的字典/缓存#
相关的问题,但针对不同的语言:
以不同的形式关闭问题:
我不需要(或者想支付任何费用)持久性,事务处理,线程安全性等,并且希望使用比列表<>或者字典<>更复杂的东西。
如果我必须写代码,我就关闭保存一切,在临时目录中的文件:
string Get(int i)
{
File.ReadAllText(Path.Combine(root,i.ToString());
}
在我的情况下指数将是一个int
(他们应该是连续的或足够接近)和数据将是一个string
,所以我可以逃脱治疗两个POD,宁愿去超轻,做到这一点。
其用法是我有一个3k文件(如文件#1到#3000)的序列总共650MB,并且需要为序列中的每个步骤执行差异。我希望总共大约相同或更多一些,我不想将所有这些都留在记忆中(更大的情况可能会出现在我无法做到的地方)。
许多人为我的问题提出了不同的解决方案。然而,似乎没有人瞄准我的小生态位。我正在研究磁盘备份缓存的原因是因为我期望我目前的使用将占用我的可用地址空间的1/3到1/2。我担心更大的案件将会空间不足。我并不担心踩踏,坚持或复制。我正在寻找的是一个最小的解决方案,它使用最少的代码,最小的使用足迹,最小的内存开销和最小的复杂性。
我开始认为我过于乐观了。
为什么不是文件系统?这是专为... – RedFilter 2009-01-03 00:41:33
如果有人不能指出我已经写好的更好的东西。 – BCS 2009-01-03 00:43:12
不是一种基于磁盘的缓存类型能否击败缓存机制的全部目的? – 2009-01-03 02:06:25