我已经阅读了很多关于 MVC 应用程序中的页面缓存和部分页面缓存的信息。但是,我想知道您将如何缓存数据。
在我的场景中,我将使用 LINQ to Entities(实体框架)。在第一次调用 GetNames(或任何方法)时,我想从数据库中获取数据。我想将结果保存在缓存中,并在第二次调用时使用缓存版本(如果存在)。
任何人都可以举例说明这将如何工作,应该在哪里实施(模型?)以及它是否可以工作。
我已经在传统的 ASP.NET 应用程序中看到过这种情况,通常用于非常静态的数据。
引用System.Web模型中的 dll 并使用System.Web.Caching.Cache
System.Web
System.Web.Caching.Cache
public string[] GetNames() { string[] names = Cache["names"] as string[]; if(names == null) //not in cache { names = DB.GetNames(); Cache["names"] = names; } return names; }
有点简化,但我想这会奏效。这不是 MVC 特定的,我一直使用这种方法来缓存数据。