A.从XML中取数据:
分析:
var
xpath写法,如下表,详见w3c:
,这里双斜杠意为:从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
Cache
区别的地方是,当内存紧张时,首先Cache可能会丢失
提出一个问题,缓存依赖;
=============
实战中:
缓存大数据量,一般是数据集或集合等。
缓存通常没有依赖,那么我们做一个功能,叫清理缓存(刷新缓存)
其实质就是直接把Cache["XXXX"]中的内容覆盖一遍达到更新的作用
B.应用程序缓存的应用:Cache函数
Cache["cacheName"]
以上这种方法如果碰到需要设置缓存的有效期,依赖项的时候就无能为了,解决方法如下:
1.使用Add()方法
Cache.Add("test1","使用Add缓存测试",null,DateTime.Now.AddSeconds(7),
TimeSpan.Zero,CacheItemPriority.High,null);
使用Add()方法必须要将它的7个参数填写完整,所以灵活性不够
2.使用Insert()方法
a.只需要键和值2个参数就可以添加缓存
Cache.Insert("test2",
b.添加依赖项的缓存
Cache.Insert("test3",
new
//这里的dependencies是缓存的依赖项,当更改任何依赖项时,该随想无效并从缓存中移除
c.设置有效期策略的缓存
Cache.Insert("test4","带有效期的缓存",DateTime.Now.AddMinutes(1d),
System.Web.Caching.Cache.NoSlidingExpiration);
d.添加优先级的缓存
Cache.Insert("test5",
System.Web.Caching.Cache.NoAbsoluteExpiration,
System.Web.Caching.Cache.NoAbsoluteExpiration,
System.Web.Caching.CacheItemPriority.High,
CacheDependency说明:
C.检索缓存注意事项:
由于缓存易失,所以在从缓存中检索应用程序的数据缓存对象时,需要先判断是否为null,然后再检索。
D.移除缓存
1.自动移除:
当出现缓存已满、过期、依赖项更改等情况时,缓存项会自动移除
2.显式移除:
Cache.Remove("test1");