在我的应用程序,我需要一个“词典”,这我应该使用缓存应用程序块
(1)能够容纳大量键值对
的(2)能够坚持的一部分元素的文件或孤立的存储,因为有太多的数据存储在内存中
(3)键 - 值对被允许到期或被删除(除非我明确地)
我可以使用在我的方案中缓存应用程序块?还是有其他图书馆推荐?
谢谢,
在我的应用程序,我需要一个“词典”,这我应该使用缓存应用程序块
(1)能够容纳大量键值对
的(2)能够坚持的一部分元素的文件或孤立的存储,因为有太多的数据存储在内存中
(3)键 - 值对被允许到期或被删除(除非我明确地)
我可以使用在我的方案中缓存应用程序块?还是有其他图书馆推荐?
谢谢,
您可以使用Enterprise Library执行此操作。请注意,如果应用程序池被回收,您将丢失所有缓存,因此您需要使用后备存储对缓存进行配置/编程,以便在内存中不可用时从磁盘获取值。
多年来,我们在许多项目中都使用过Entlib缓存。最近我们已经转移到更新的Appfabric缓存,请参阅:http://msdn.microsoft.com/en-us/library/ff383731.aspx
对于新项目,我会推荐Appfabric缓存。
Entlib缓存块保留内存中的所有内容的副本以及保留到后备存储。所以它不适合上面列表中的#2。
谢谢。顺便说一句,我想知道什么时候缓存变得真的很大,一些键值对会转到'后台存储'并被自动删除在内存中,这样进程不会被OOM异常破坏?或者,后台存储仅用于在进程重新启动时初始化缓存? – Dodd