(五) .net学习 Cache

版权声明:本文为博主原创文章,转载请注明原文链接哦,forethought.top! https://blog.csdn.net/qq_36922927/article/details/85404964

什么是cache

实现 Web 应用程序的缓存
奉上一段flush,由于csdn不能上传,附上网盘链接
https://pan.baidu.com/s/1K97UoVlE0OXOzQjnsWIqeQ

1,asp.net使用cache,缓存对象

比如缓存dataset到cache,减少对数据库的访问频率.
Catch.Insert(“key”,myDataSet);//重载方法还有很多
大致就是使用key-val的方式,将对象存到Cache中
获取时:使用 Cache[“key”] 或者 Cache.get(“key”) 来去被cache的对象

2,asp页面使用cache,缓存页面

配置:在aspx的源码视图
添加:

<%@ OutputCache Duration="120" VaryByParam="none" %>

其中:Duration指定过期时间(秒),VaryByParam 指定通知此页面重新缓存的参数名
如果是"none",则会是过期时间到了,才会重新缓存时间
如果指定一个参数:则是该参数的取值发生变化时,此页面就重新缓存

<%@ OutputCache Duration="120" VaryByParam="doctor" %>

假设当前页面是Test.aspx
那么:
第一次

…Test.aspx?doctor=1

第二次,并且一二次时间间隔小于duration的值

…Test.aspx?doctor=1

那么此页面还是第一次缓存的页面不会有变化
具体可以在pageLoad中 !Page.isPostBack条件下输出时间 发现时间没有变化

如果第三次:

…Test.aspx?doctor=2

就会发现页面重新执行缓存,输出的时间发生了变化

3 页面局部缓存,缓存页面局部内容

比如在很多页面都引入了一个用户控件Header.ascx,这个控件的内容是不会发生改变的,每次打开引用此控件的页面,没有必要重新加载一次Header.ascx
在这里插入图片描述刷新:时间发生了变化
在这里插入图片描述使用cache:
刷新页面,两分钟之内的刷新,是不会发生时间变化的.但是如果切换引用这个控件的页面
比如页面1,页面2 都引用了此控件
先打开页面1,刷新页面1,时间不变
接着打开页面2,页面2上看见的时间是和页面1不同的,刷新,时间不变
再次打开页面1,时间是页面1第一次打开的时间.这就实现了对某个页面的某一部分进行cache,对各自的页面有效.

猜你喜欢

转载自blog.csdn.net/qq_36922927/article/details/85404964