asp.net(c#)从Cache对象删除项(学习日记二)
来源:互联网 发布:950淘宝轮播图 编辑:程序博客网 时间:2024/05/22 01:50
上篇文章中说到什么是 Cache对象,如何在ASP.NET中使用 Cache对象。下面我们来说说如何在ASP.NET中删除项。
ASP.NET Cache 对象设计用于保证它并不使用过多的服务器内存。结果是,当用内存变得缺乏时,Cache对象自动删除最少被使用的项。你可以通过定义时间限制、依赖项、以及项
在Cache对象中的优先级来影响 Cache对象保存和删除项的方式。
Cache对象中的项只要是依赖或时间限制被触发,就是立即被删除。试图获取被删除的项将返回null值,除非项再次被添加到 Cache对象中。
依赖项 称为文件依赖项,依赖于另一个缓存项的依赖项被称为键依赖项。如果依赖项改变,缓存的项被称为不合法,然后从Cache对象中删除。 缓存项优先级 设置 Cache.Insert 中参数的示例 出自 网络自由人
绝对期限
你可以使用 AbsoluteEXpiration 参数为项定义最大的绝对生存期。此参数是 DateTime 类型的参数,允许你指定项过期的时间。
我在下面的代码指定了从创建起5分钟后,myValue 从 Cache 对象中被删除:
Cache.Insert("myKey", myValue, null, DateTime.Now.AddMinutes(5), Cache.NoSlidingExpiration);
滑动期限
你可以通过使用 SlidingExpiration 参数为项定义最大的相对生存期。这是一个 TimeSpan 类型参数,允许你指定每个对象自从最后一次访问后的时间间隔以及何时对象到期。
我在下面的代码指定了 myValue 最后的访问的20分钟后被从 Cache对象中删除:
Cache.Insert("myKey", myValue, null, null, TimeSpan.FromSeconds(20));
有时你想某对象从 Cache对象中被删除,因为支持的项,如文件已经改变。ASP.NET 允许你基于依赖项或另一个缓存的项来定义缓存项的合法性。基于外部文件和目录的依赖项被
我在下面的代码指定了当 myDoc.xml 文件更改时,myValue 从 Cache对象中删除:
Cache.Insert("myKey", myValue, new CacheDependency(Server.MapPath("myDoc.xml")));
当网络服务器运行的内存可用量降低时,Cache对象有选择地删除项以释放系统内存。你指定高一点优先级的项较低可能从缓存中被删除,而被指定为低一些优先级的项被删除的可能性就要大一些。
我在下列代码指定了 myValue 有高优先级,将成为当服务器内存被限制时,最后从 Cache对象删除的项之一:
Cache.Insert("myKey", myValue, null, null, Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove);
下列代码将一个 MyBook 的值使用许多参数插入到了 Cache对象中。下列首先发生的依赖项或超 时事件将使项被从 Cache对象中删除:
在保存5分钟后被删除。
在最后访问30秒钟后被删除。
在 Books.xml 文件更改后删除。
将项的优先级设置为高,从而如果服务器资源成为问题时最后被删除。
当项被从 Cache对象删除时,回调函数onRemove 运行。
Cache.Insert("MyBook.CurrentBook", CurrentBook, new CacheDependency(Server.MapPath("")), DateTime.Now.AddMinutes(5), TimeSpan.FromSeconds(30), CacheItemPriority.High, onRemove);
- asp.net(c#)从Cache对象删除项(学习日记二)
- asp.net(c#)缓存Cache对象(学习日记一)
- asp.net(c#)从Cache对象删除项
- Asp.net MVC学习日记十六(数据Cache)
- Asp.net MVC学习日记十七(页面Cache)
- Asp.net MVC学习日记十(JQuery删除)
- Asp.net MVC学习日记二(登陆验证)
- 【学习日记】ASP.NET[基础二(aspx)]
- ASP.NET学习日记
- Cache缓存 (asp.net c#)
- ASP.Net 3.5学习笔记(C#)二
- 傻子学习asp.net日记
- Asp.net中cache对象简介
- ASP.NET内置对象小结(二)
- ASP.Net 4.0 --- 基本对象(二)
- ASP.Net Cache(缓存)
- Asp.net MVC学习日记一(显示图片)
- Asp.net MVC学习日记五(自定义RouteHandler)
- SMP编程资料
- [HTML] document domain 的说明
- Commons-logging + Log4j 入门指南
- Http 请求处理流程
- 虚拟继承 1
- asp.net(c#)从Cache对象删除项(学习日记二)
- Linux内存布局
- spring 2.0 scope 属性
- java clone
- Sun一个时代的结束
- asp.net(c#)缓存Cache对象(学习日记一)
- 命令模式
- 学习笔记之资源操作相关函数
- 【转】symbian s60 3rd 横屏竖屏切换、旋转屏幕,全屏