我想缓存从数据库中提取的对象,这些对象通常不会被修改,因为每次页面加载时都会选择近2000个项目,从而在页面加载期间导致明显的性能问题。
在审核 here 和一些MSDN文章(最相关的是 here)后,似乎这些是防止单个用户多次往返数据库的解决方案,并且此缓存将过期一旦httprequest关闭。
任何人都可以清除混淆,如果找到则提供适用的参考吗?
答案 0 :(得分:6)
您希望将项目存储在HttpRuntime.Cache
项目中,这些项目将在您的应用程序域名期间存在,它们会过期或被清除。哪个先发生过。请注意,这与指向HttpContext.Current.Cache
的{{1}}完全相同。调用后者更容易在服务层中使用,因为您不必担心上下文是否存在。缓存始终存在。
HttpRuntime.Cache
中存储的项目仅在该请求期间存在。这对于存储可以通过应用程序的多个层读取/写入的单个请求信息非常有用。