我是靠谱客的博主 欣喜萝莉,最近开发中收集的这篇文章主要介绍Cache 概述,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

基本用法

using System.Web.Caching
DataSet ds = new  DataSet();
//
Cache.Insert( " Data " ,ds);

将DataSet中的数据缓存,不设置过期时间。

Cache.Insert("Data",ds,null,DateTime.Now.AddMinutes(2),TimeSpan.Zero);

绝对时间过期,缓存在2分钟后将过期。

Cache.Insert( " Data " ,ds, null ,DateTime.MaxValue,TimeSpan.FromMinutes( 2 ));

平滑时间过期,缓存在连续2分钟没有访问则过期。

Cache.Add方法也可添加缓存,但只能添加缓存中没有项,有则失败,但不出异常;而Cache.Insert方法能覆盖原来的重复项。

缓存依赖

CacheDependency  cd = new  CacheDependency (Server.MapPath( " myFile.txt " ));
DataSet ds
= new  DataSet ();
//
Cache.Insert ( " Data " ,ds,cd);

myFile.txt文件被修改后,缓存失效,否则缓存一直存在。

缓存更新策略
一般做法:

DataSet ds  =   new  DataSet();
//
if  (Cache[ " Data " ==   null )
{
    ds 
= GetData();
    Cache.Insert(
"Data", ds, null, DateTime.Now.AddMinutes(2), TimeSpan.Zero);
}

else
{
    ds 
= (DataSet)Cache["Data"];
}

此为被动更新,如果缓存为空,则为数据库获取数据,如果缓存不为空,则直接从缓存中获取数据。缺点就是如果缓存失效时,去访问数据得从数据库中查询,花费时间。可以利用缓存的回调功能让缓存过期后自动续建,实现自动更新的目的。

protected   void  CacheCallback( string  key,  object  value, CacheItemRemovedReason remov)
{
        
//缓存过期处理方法
}

 

DataSet ds  =   new  DataSet();
//
Cache.Insert( " Data " , ds,  null , DateTime.Now.AddMinutes( 2 ), TimeSpan.Zero, CacheItemPriority.Default, CacheCallback);

缓存过期时回调用CacheCallback方法实现自动更新。

最后

以上就是欣喜萝莉为你收集整理的Cache 概述的全部内容,希望文章能够帮你解决Cache 概述所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部