【发布时间】:2012-06-17 12:46:21
【问题描述】:
我有一个 ASP.NET MVC 3 应用程序,它基本上只是一组 Web 服务。这些 Web 服务由一组控制器操作公开。每个控制器操作都会查询我的数据库。因为我的数据很少改变,而且过时的数据不是问题,我想我会实现一些缓存来提高性能。我的目标是:
- 从不缓存对用户的响应。
- 将数据库记录缓存长达 24 小时。如果 24 小时过去了,请再次访问数据库。
这有意义吗?我知道如何防止响应缓存。我只是使用以下内容:
HttpContext.Response.Cache.SetCacheability(cacheability)
但是,我不确定如何将我的数据库记录缓存在内存中长达 24 小时。有人对如何做到这一点有任何建议吗?我什至不知道在哪里看。
谢谢
【问题讨论】:
-
您只是想将表的全部内容缓存到内存中,还是想使用 LRU 缓存来缓存一部分?
-
这听起来不像是在寻找 MVC 框架提供的解决方案。 MVC 框架旨在为用户创建响应,并且可以使用内置的 OutputCache 属性缓存这些响应。由于您不希望缓存响应,因此您可能需要寻找一种更抽象的方法来缓存查询结果,该方法不依赖于 MVC 框架(memcached 等)。
-
我想将一个表的全部内容缓存到内存中。实际上,在我的实例中,我的表已经转换为 CLR 对象。所以,理想情况下,我只想缓存对象。
-
@user70192 -- 对。我不认为 MVC 是该任务的正确工具。看我的回答。
标签: c# asp.net-mvc-3 caching