【发布时间】:2017-05-10 18:46:41
【问题描述】:
我不明白应该使用哪个容器来存储缓存:
HttpContext.Current.Session 还是 MemoryCache?
HttpContext.Current.Session 和MemoryCache 中存储的数据有什么区别?
【问题讨论】:
-
内存、数据库、Redis。取决于您要缓存的内容以及您是拥有一台服务器还是多台服务器。内存仅在您有单个服务器时才有效。
Session不是缓存,它仅存储当前会话的数据,并且可能使用内存或数据库进行存储。是所有请求都可以访问的实际内存缓存。 -
MemoryCache不是 ASP.Net 特定的缓存机制。它也可以被 Windows 窗体应用程序使用。当您考虑在您的 ASP.Net 网站中存储一些应该在 Web 调用中持续存在的数据时,您应该考虑Application vs Session vs Cache。 ASP .Net 应用程序中的缓存是指System.Web.Caching.Cache类(在 System.Web dll 中)与System.Runtime.Caching.MemoryCache(在 System.Runtime.Caching.dll 中)类不同。