2011-08-25 53 views
0

在我的应用程序,我需要一个“词典”,这我应该使用缓存应用程序块

(1)能够容纳大量键值对

(2)能够坚持的一部分元素的文件或孤立的存储,因为有太多的数据存储在内存中

(3)键 - 值对被允许到期或被删除(除非我明确地)

我可以使用在我的方案中缓存应用程序块?还是有其他图书馆推荐?

谢谢,

回答

1

您可以使用Enterprise Library执行此操作。请注意,如果应用程序池被回收,您将丢失所有缓存,因此您需要使用后备存储对缓存进行配置/编程,以便在内存中不可用时从磁盘获取值。

多年来,我们在许多项目中都使用过Entlib缓存。最近我们已经转移到更新的Appfabric缓存,请参阅:http://msdn.microsoft.com/en-us/library/ff383731.aspx

对于新项目,我会推荐Appfabric缓存。

+0

谢谢。顺便说一句,我想知道什么时候缓存变得真的很大,一些键值对会转到'后台存储'并被自动删除在内存中,这样进程不会被OOM异常破坏?或者,后台存储仅用于在进程重新启动时初始化缓存? – Dodd

0

Entlib缓存块保留内存中的所有内容的副本以及保留到后备存储。所以它不适合上面列表中的#2。

相关问题