asp.net - 扩展 ObjectCache 以创建基于文件的缓存替代方案

标签 asp.net caching c#-4.0 file-io

我们正在为澳大利亚链式假日公园开发 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/

相关文章:

使用 ReaderWriterLockSlim 的 C# 字典

linq - Linqpad 中的 UserQuery 是什么?

c# - 使用 asp.net 中的 Web 服务的网站登录表单

javascript - Google map js api 在纯 html 页面中工作正常,但在 asp.net mvc 页面中不起作用

java - 检索 Ehcache 中的过期对象

java - 共享缓存上的@Cacheable 键?

javascript - 在没有模型的情况下在 MVC 3 中进行验证

WPF 模态对话框进入后台

asp.net - enableEventValidation 和 validateRequest 区别

c# - .NET抛出WebException ((400) Bad Request)时如何处理WebResponse?