文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>ASP.NET移除全部或者部分缓存

ASP.NET移除全部或者部分缓存

时间:2010-11-27  来源:天天

例如,在Portal里,有新闻模块,文档模块,通知模块等,所以对应的缓存键值分布是 news_XXXXX, doc_XXXXX,announce_XXXXX等,当页面加载时,读取相关新闻到相应的键值里,如果页面再次加载,直接从缓存里读取接口

...

 

if(Cache["news_NEWSLIST"]==null)

{

return Cache.Insert("news_NEWSLIST")=DB.GetNewslist();

}

else

{

return Cache["news_NEWSLIST"];

}



 

 

 

....

 

如果新闻有更新后者删除,就需要移除缓存,所以需要定义一个移除缓存的方法:

 



public static void Refresh(string pre)
{
System.Web.Caching.Cache _cache
= HttpRuntime.Cache;
IDictionaryEnumerator CacheEnum
= _cache.GetEnumerator();
ArrayList al
= new ArrayList();
while (CacheEnum.MoveNext())
{
al.Add(CacheEnum.Key);
}
foreach (string key in al)
{
if (pre == string.Empty)
{
_cache.Remove(key);
}
else
{
if (key.StartsWith(pre))
{
_cache.Remove(key);
}
}
}

}

 

这样,当我添加新闻后,只要调用 Refresh("news_")或者 Refresh("doc_")就可以删除这一类模板的所有缓存,既方便管理又可以满足需求。

如果需要删除所有缓存,只要调用 Refresh("") 即可移除系统所有的缓存。

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

 

我的个人网站  http://www.dotnetcms.org    要查看Portal演示请访问 http://demo.dotnetcms.org   Portal使用指南  http://www.dotnetcms.org/help

 

相关阅读 更多 +
排行榜 更多 +
边境检察最后区域手机版下载

边境检察最后区域手机版下载

角色扮演 下载
酋长你别跑手游下载

酋长你别跑手游下载

休闲益智 下载
心动漫画app下载官方版

心动漫画app下载官方版

浏览阅读 下载