我们正在为澳大利亚链式假日公园开发 ASP.Net MVC/Jquery 移动项目。大部分公园相关数据存储在 SQL 数据库中。
目前正在开发的部分之一是“本地景点”。此部分的数据来自澳大利亚旅游数据仓库 (ATDW) 拥有的网络服务。虽然加载 View 最多可能需要 45 秒,但对我们来说幸运的是数据是相当静态的。我们计划缓存它,并每周刷新一次。这个数据也比较大。我认为它不是内存缓存的合适候选对象。
我对 System.Runtime.ObjectCache 的基于文件的实现很感兴趣。
我已经在互联网上搜索过了,但我还没有找到任何这方面的例子。我的问题很笼统,我正在寻找有关读取/写入基于文件的缓存的建议。数据将由直接从 Controller 调用的服务层中的类 CachedLocalAttractionsService.cs 检索。
请指教: 在磁盘上存储名称/值对, 以 Cache[key] 方式序列化可检索的大量数据, 到目前为止,我在 6 小时的搜索中可能遗漏的任何示例。
最佳答案
文件系统缓存/搜索的最佳选择可能是使用 Lucene 索引。
但是,如果您的内容非常静态,那么您是否可以考虑使用输出缓存?
简单的例子
[OutputCache(Duration=10, VaryByParam="none")]
public ActionResult Index()
{
return View();
}
这会将此返回缓存 10 秒。
在这里查看 http://www.asp.net/mvc/tutorials/improving-performance-with-output-caching-cs
关于asp.net - 扩展 ObjectCache 以创建基于文件的缓存替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8306595/