我正在寻找即使在Windows窗体应用程序关闭后仍然存在的内存缓存。到目前为止,我唯一考虑的选择是在关闭应用程序之前使用二进制格式化程序将内存缓存对象写入文件。
我可以使用NuGet上的持久性内存缓存吗?
编辑: 我们在"映射"中有大约3000万行。需要每1小时查询约100,000次的表格。需要缓存的想法是避免使用查询堆积数据库。
映射表的结构:
Zip code TimeZoneGMTOffset
---------------------------------------
12345 -6
12346 -5
...
我们将有大约100,000个配置文件,我们每小时都会对其进行解析。作为此解析的一部分,我们将根据其邮政编码查询时区偏移量,并使用它来计算时间范围。
最好的方法是什么?
答案 0 :(得分:2)
是的,您可以使用ManagedEsent
捆绑的PersistentDictionary
。它实际上是Esent的托管包装。
它与Dictionary<K, V>
一样易于使用。持久性在幕后完成。
您需要构建要以键 - 值对格式缓存的数据。值也受某些条件的限制。请参阅我链接的页面中的Supported Value Types
部分。
功能(来自他们的CodePlex页面):