惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
L
LangChain Blog
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
B
Blog RSS Feed
MongoDB | Blog
MongoDB | Blog
Jina AI
Jina AI
D
Docker
B
Blog
Engineering at Meta
Engineering at Meta
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
G
Google Developers Blog
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
T
The Blog of Author Tim Ferriss
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
U
Unit 42

博客园 - 杰客

一个关于pynoi游戏的C语言编程 大型网站架构 大型网站架构不得不考虑的10个问题 程序员自我培养 什么是SOA 用Date.ToString()输出中英文月份 - 杰客 - 博客园 深入浅出理解索引结构 学习正则表达式 让VS 2008支持Subversion(转) SQL Server 2000和2005通用分页存储过程 SQL里类似SPLIT的分割字符串函数 趣味智力题 程序员为什么单身?细数程序员"六宗罪"(摘抄) 存储过程的一些小技巧 Hello NHibernate ASP.NET中的常用正则表达式 c#2.0 System.Net.Mail 发送email ASP.NET2.0中配置文件的加密与解密(转载) (原创)整合 PayPal、VeriSign、Authorize.NET 在线支付
ASP.NET 2.0(C#)中System.Web.Caching的应用
杰客 · 2006-07-07 · via 博客园 - 杰客

1、向应用程序的添加缓存

public void Insert (
string key,
Object value,
CacheDependency dependencies,
DateTime absoluteExpiration,
TimeSpan slidingExpiration
)

参数

key

用于引用该对象的缓存键。

value

要插入缓存中的对象。

dependencies

所插入对象的文件依赖项或缓存键依赖项。当任何依赖项更改时,该对象即无效,并从缓存中移除。如果没有依赖项,
则此参数包含 空引用(在 Visual Basic 中为 Nothing)。

absoluteExpiration

所插入对象将过期并被从缓存中移除的时间。如果使用绝对过期,则 slidingExpiration 参数必须为 NoSlidingExpiration

slidingExpiration

最后一次访问所插入对象时与该对象过期时之间的时间间隔。如果该值等效于 20 分钟,则对象在最后一次被访问 20 分钟
之后将过期并被从缓存中移除。如果使用可调过期,则 absoluteExpiration 参数必须为 NoAbsoluteExpiration

ds = db.ExecuteDataSet(dbCommand);//插入缓存中的bject
     Cache cache = System.Web.HttpContext.Current.Cache;
     object oProvider = cache.Get(cachekey);
     //向应用程序的缓存中插入具有绝对过期的项
     cache.Insert(cachekey, ds, null, DateTime.Now.AddMinutes(30),TimeSpan.Zero);
     cache.Insert(cachekey, ds, null, DateTime.Now.AddMinutes(30),Cache.NoSlidingExpiration);

     //向缓存中插入具有可调整过期的项
     cache.Insert(cachekey, ds, null, DateTime.MaxValue, TimeSpan.FromMinutes(30));
     cache.Insert(cachekey, ds, null, Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(30));
 
public Object Add (
string key,
Object value,
CacheDependency dependencies,
DateTime absoluteExpiration,
TimeSpan slidingExpiration,
CacheItemPriority priority,
CacheItemRemovedCallback onRemoveCallback

参数

key

用于引用该项的缓存键。

value

要添加到缓存的项。

dependencies

该项的文件依赖项或缓存键依赖项。当任何依赖项更改时,该对象即无效,并从缓存中移除。如果没有依赖项,则此参数包含
空引用(在 Visual Basic 中为 Nothing)。

absoluteExpiration

所添加对象将过期并被从缓存中移除的时间。如果使用可调过期,则 absoluteExpiration 参数必须为 NoAbsoluteExpiration

slidingExpiration

最后一次访问所添加对象时与该对象过期时之间的时间间隔。如果该值等效于 20 分钟,则对象在最后一次被访问 20 分钟之后
将过期并从缓存中移除。如果使用绝对过期,则 slidingExpiration 参数必须为 NoSlidingExpiration

priority

对象的相对成本,由 CacheItemPriority 枚举表示。缓存在退出对象时使用该值;具有较低成本的对象在具有较高成本的对象之前
被从缓存移除。

onRemoveCallback

在从缓存中移除对象时所调用的委托(如果提供)。当从缓存中删除应用程序的对象时,可使用它来通知应用程序。

     public void AddItemToCache(Object sender, EventArgs e) {
itemRemoved = false;
onRemove = new CacheItemRemovedCallback(this.RemovedCallback);
if (Cache["Key1"] == null)
Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(60), TimeSpan.Zero, CacheItemPriority.High, onRemove);
}

2.清除缓存

    Cache.Remove(cacheKey);