黑马程序员_Asp.net缓存学习总结

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

学了缓存之后,感觉真是个让人兴奋的东西,简单总结如下:

一般情况下浏览器请求一个页面,服务器需要去数据库查询相关内容,生成相应的html代码再返回给浏览器,而当一个网站访问量非常大的时候,这样就会导致重复的查询数据库内容,性能比较差,而使用缓存,则只需要在第一次访问的时候去查询数据库,之后保存到缓存中,以后都直接输出缓存中的内容,这样无论多少人访问都只查询一次数据库,很大的提高了网站的性能。

请求过程:浏览器>服务器(查看是否存在缓存,无则查询数据库,然后保存到服务器内存中的缓存)

Asp.net缓存主要分为:页面缓存、数据源缓存、数据缓存这三种主要类型。

页面缓存:

页面缓存只需要在页面的头部指令集中加上:<%@OutputCache Duration="10" VaryByParam="none" />这里的Duration表示缓存失效时间(以秒为单位),VaryByParam设置缓存的依赖参数,参数为none则整个页面的内容都会被缓存,在缓存运行期间,页面中的asp.net代码、数据源在缓存期间都不会被运行,而是直接输出缓存的页面内容。

根据参数设置页面缓存,如id,则设置VaryByParam="id;...",当id参数值不同时则创建缓存,一般情况下设置VaryByParam="*",只要url中的参数不同,就产生缓存。

数据源缓存:

       数据源缓存设置EnableCaching的属性为true表示启用缓存,设置缓存时间CacheDuration单位秒,比如设置了CacheDuration属性为10,这样每隔10秒后,才查询数据库,而其他时则直接返回缓存中的数据。

缓存其他:

在一些页面缓存、数据源缓存完成不了的情况,可以直接调用HttpRuntime.Cache进行缓存。

例:

if(Cache["msg"]!=null){

response.write(Cache[“msg”].tostring());//输出缓存内容

}

else

{

Cache["msg "]=值;

}

设置Cache缓存失效时间,这里可以使用Cache.insert()方法,里面有很多的重载。。

例:Cache.insert("msg",值,null,DateTime.Now.AddHours(1),TimeSpan.Zero);


---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值