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
相关阅读 更多 +
- 系统休眠文件删除后果 如何删除计算机的休眠文件 2025-04-22
- 站群服务器是什么意思 站群服务器的作用 站群服务器和普通服务器的区别 2025-04-22
- jQuery插件有何作用 jQuery插件的使用方法 2025-04-22
- jQuery插件有哪些种类 简单的jQuery插件实例 2025-04-22
-