ASP.NET缓存数据添加方法一览
ASP.NET缓存数据添加需求概述
ASP.NET使用缓存机制,将需要大量服务器资源来创建的对象存储在内存中。缓存这些类型的资源会大大改进应用程序的性能。缓存是有Cache类实现的,可以通过对缓存设置优先级CacheItemPriority枚举值控制内存不够时的“清理”优先顺序。还可以为缓存设置过期策略,以及为缓存设置依赖项。
ASP.NET缓存数据添加(将数据项添加到缓存中)
1、通过键值对添加
Cache["CacheItem"] = "Cached Item";
2、通过Insert 方法添加
Insert 方法向缓存添加项,并且已经存在与现有项同名的项,则缓存中的现有项将被替换。
Cache.Insert("CacheItem", "Cached Item");
3、指定依赖项并添加(对添加到缓冲中的数据项指定依赖项)
数据项依赖一个字符串数组对象的情况:
string[] dependencies = { "Dependences" }; Cache.Insert("CacheItem", "Cached Item", new System.Web.Caching.CacheDependency(null, dependencies));
数据项依赖一个XML文件的情况:
Cache.Insert("CacheItem", "Cached Item", new System.Web.Caching.CacheDependency( Server.MapPath("XMLFile.xml")));
数据项依赖多个依赖项的情况:
System.Web.Caching.CacheDependency dep1 = new System.Web.Caching.CacheDependency(Server.MapPath("XMLFile.xml")); string[] keyDependencies2 = { "CacheItem1" }; System.Web.Caching.CacheDependency dep2 = new System.Web.Caching.CacheDependency(null, keyDependencies2); System.Web.Caching.AggregateCacheDependency aggDep = new System.Web.Caching.AggregateCacheDependency(); aggDep.Add(dep1); aggDep.Add(dep2); Cache.Insert("CacheItem", "Cached Item", aggDep);
4、设置过期策略并添加
添加一分钟绝对过期时间到缓存中:
Cache.Insert("CacheItem", "Cached Item", null, DateTime.Now.AddMinutes(1d), System.Web.Caching.Cache.NoSlidingExpiration);
添加10 分钟弹性过期时间到缓存中:
Cache.Insert("CacheItem", "Cached Item", null, System.Web.Caching.Cache.NoAbsoluteExpiration, new TimeSpan(0, 10, 0));
5、设置优先级并添加
调用 Insert 方法,从 CacheItemPriority 枚举中指定一个值。
Cache.Insert("CacheItem", "Cached Item", null, System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.High, null);
6、通过Add方法添加
Add 方法将返回您添加到缓存中的对象。另外,如果使用 Add 方法,并且缓存中已经存在与现有项同名的项,则该方法不会替换该项,并且不会引发异常。
相关推荐
Freshairx 2020-11-10
学习web前端 2020-11-09
liuyuchen 2020-10-27
天空一样的蔚蓝 2020-10-23
chenhaimeimeng 2020-08-15
东哥笔记 2020-08-14
幸运小侯子 2020-08-14
curiousL 2020-08-03
vanturman 2020-08-01
shawls 2020-07-29
sochrome 2020-07-29
buaichidoufu 2020-07-28
guoyun0 2020-07-19
SoarFly00 2020-06-28
LinuxJob 2020-06-26
韩学敏 2020-06-17
架构技术交流 2020-06-13
服务器端攻城师 2020-06-12