.NET 中缓存

在 .NET  中缓存的定义在命名空间 System.Web.Caching 中。

.NET 中支持两种依赖:CacheDependency 和 SqlDependency。

          1. CacheDependency 表示依赖对于文件或者目录的依赖
          2. SqlDependency  表示基于 SQL  数据库的依赖。

 

过期时间 : 过期时间分为绝对过期时间和滑动过期时间两种。 两种过期时间只能二选一。 
„  绝对过期时间为一个特点的时间点,类型为 DateTime,如果不使用绝对过期时间,
那么,使用 System.Web.Caching.Cache.NoAbsoluteExpiration 表示。
„  滑动过期时间为一个时间间隔,类型为 TimeSpan  ,如果不使用滑动过期时间,
使用 System.Web.Caching.NoSlidingExpiration 表示。

 

 

优先级 CacheItemPriority,由于我们需要缓存大量的数据,在内存有限的情况下,就
必须对缓存的数据进行优先级分类, 以便在需要的时候, 将不重要的数据从缓存中移除,
优先级用来指定缓存数据的重要性。重要的数据可以更长时间的保存在内存中。
CacheItemPriority是一个枚举类型,从高到低定义了如下的优先级
„  NotRemovable  在服务器需要通过释放内存,以缓存数据的时候,这种优先级的
数据不会因为内存的调整而移除,这是最高的优先级,除非由于过期或者缓存依赖
被清除
„  High    在服务器释放内存时,这种优先级的数据最不可能被移除
„  AboveNormal   具有该优先级的数据被移除的可能性比 Normal  级别要小
„  Normal    具有该优先级的数据很有可能被移除
„  Default    就是 Normal  级别
„  BelowNormal   具有该优先级的数据比 Normal  级别更可能被移除
„  Low     此级别的数据最有可能被移除

 

 

删除通知 ,.NET  提供了一个机制,当被缓存的数据从内存中移除的时候,可以提供一
个通知机制,来回调用户定义的方法,方法必须符合  CacheItemRemovedCallback  委
托的定义。委托的定义如下
  public delegate void CacheItemRemovedCallback (
   string key,
   Object value,
   CacheItemRemovedReason reason )

          CacheItemRemovedReason  为缓存项被移除的原因,
„          CacheItemRemovedReason  是一个枚举类型,定义了如下原因:
„          DependencyChanged  由于依赖发生变化被移除
„          Expired     由于过期被移除
„          Removed    由于调用 Insert  插入一个同名的缓存项或者调用 Remove  失效

          Underused    系统移除

---------------------------------------------------------------------------------------------------

 基于文件或者目录的依赖

 

在页面中可以通过静态属性取得信息
this.Label1.Text = CacheManager.Message;

 

---------------------------------------------------------------------------------------------------------------------

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春哥撩编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值