Cache_总体介绍

Cache 是分配在服务器上的一个 公共的内存片。

Cache面对所有用户,Session也是服务器缓存,但是面向单个用户。

Cache是有时间限制的,吵过了设定时间,服务器将回收。

1..net 4.0 中的缓存功能,主要由三部分组成

  System.Runtime.Caching 

        System.Runtime.Caching 是 .net 4.0 中新增的缓存框架。主要使用MemoryCache 对象,该对象存在于程序集 System.Runtime.Caching.dll中

        MemoryCache 继承自ObjectCache,IEnumerable,IDisposable .ObjectCache是一个抽象类.private static ObjectCache memCache=MemoryCache.Default.

        

  System.Web.Caching

        System.Web.Caching 是 .net 2.0 就存在的,一般用在web中,如果在winform中使用,要引入 System.Web.Caching.dll

  Output Cache .

        在ASP.NET 中使用,在 ASP.NET 4.0 之前,直接使用System.Web.Caching.Cache 来缓存Html片段,在ASP.NET 4.0 中进行了重新设计。提供了一个         OutputCacheProvider 供扩展,但是默认情况,仍然使用System.Web.Caching.Cache 来做缓存。

2.System.Web.Caching

  System.Web.HttpRuntime.Cache

  System.Web.HttpContext.Current.Cache 

  System.Runtime.Caching.MemoryCache

  (1)HttpRuntime.Cache 与 HttpContext.Current.Cache 区别

     两者指向的是同一个Cache 对象。

      HttpContext. 封装有关个别Http请求的 HTTP特定信息。HttpContext.Current.Cache 为当前的Http请求获取HttpContext对象。

  (2)HttpRuntime.Cache 可以实现 Web,控制台,winform 等不同表现形式下的缓存。现在偏多.net framework 4.0 中增强的缓存类 MemoryCache .

3.CallContext 

   线程的本地存储区专用集合对象。提供对每个逻辑执行线程都唯一的数据槽 。数据槽不在其他逻辑线程的调用上下文之间共享。在多线程和存储DbContext缓存可用到。

4.Session

  Session把数据保存在服务器端,每一个用户都有属于自己的Session.与别人的不冲突,也就是说,当你登录到系统中,你的信息(账号,密码)等就会被保存到服务器上一个单独的Session中,当你退出系统时,服务器就会丢掉这个Session,你的数据就没了,必须再次登录,如果登录超时,也会被丢掉。看系统设置。

原文地址:https://www.cnblogs.com/sujingnuli/p/9093021.html