缓存API:使用Cache对象
使用Cache对象可以存储任何可序列化的数据对象基于一个或多个依赖项的组合来控制缓存条目到期的方式这些依赖项可以包括自从某对象被缓存后经过的时间自从某对象上次被访问后经过的时间对文件或文件夹的更改以及对其他缓存对象的更改在略作处理后还可以包括对数据库中特定表的更改
在Cache中存储数据的最简单的方法就是使用一个键为其赋值就像HashTable或Dictionary对象一样
Cache[key] = value;
这种做法将在缓存中存储项同时不带任何依赖项因此它不会到期除非缓存引擎为了给其他缓存数据提供空间而将其删除要包括特定的缓存依赖项可使用Add()或Insert()方法其中每个方法都有几个重载Add()和Insert()之间的唯一区别是Add()返回对已缓存对象的引用而Insert()没有返回值
CacheInsert(key myXMLFileData new System
WebCachingCacheDependency(ServerMapPath(users xml)))
该示例可将文件中的XML数据插入缓存无须在以后请求时从文件读取CacheDependency的作用是确保缓存在文件更改后立即到期以便可以从文件中提取最新数据重新进行缓存如果缓存的数据来自若干个文件还可以指定一个文件名的数组
CacheInsert(dependentkey myDependentData
new SystemWebCachingCacheDependency(new
string[] {} new string[] {key}))
该示例可插入键值为key的第二个数据块(取决于是否存在第一个数据块)如果缓存中不存在名为key的键或者如果与该键相关联的对象已到期或被更新则dependentkey的缓存条目将到期
CacheInsert(key myTimeSensitiveData
null DateTimeNowAddMinutes() TimeSpanZero)
绝对到期此示例将对受时间影响的数据缓存一分钟一分钟过后缓存将到期
CacheInsert(key myFrequentlyAccessedData
null SystemWebCachingCacheNoAbsoluteExpiration
TimeSpan FromMinutes())
动态滚动到期此示例将缓存一些频繁使用的数据数据将在缓存中一直保留下去除非数据未被引用的时间达到了一分钟
注意动态滚动到期和绝对到期不能一起使用
总之缓存可以使应用程序的性能得到很大的提高因此在设计应用程序以及对应用程序进行性能测试时应该予以考虑应用程序总会或多或少地受益于缓存当然有些应用程序比其他应用程序更适合使用缓存深刻理解ASPNET提供的缓存选项对于任何ASPNET开发人员来说都至关重要
返回目录ASPNET项目开发指南
编辑推荐
ASPNET MVC 框架揭秘
ASPNET开发宝典
ASP NET开发培训视频教程