为了账号安全,请及时绑定邮箱和手机立即绑定

ASP.NET缓存Cache初接触

标签:
C#

缓存Cache

应用背景:如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能非常差。而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则提高系统性能。
这样无论有多少人访问都只访问一次数据库,数据库压力不变。
基础概念:缓存(Cache)是一种以空间换取时间的技术,存在于计算机中很多地方,用来将一些慢速设备中的常用数据保存在快速设备中,取数据的时候直接从快速设备中取。
比如CPU二级缓存、内存、Windows文件读取缓存。
应用意义:缓存是改进网站性能的第一个手段,就像索引是改进数据库性能的第一个手段一样。ASP.NET缓存主要分为:页面缓存(中庸)、数据源缓存(最不灵活的)、数据缓存(灵活)这三种主要类型。
1.页面级缓存:将页面对象运行后产生的HTML代码存入服务器缓存中的;
(1)在ASP.NET中给页面添加<%@ OutputCache %>标签即可启用页面缓存,这样整个页面内的内容都会被缓存,页面中的ASP.NET代码、数据源在缓存期间都不会被运行,而是直接输出缓存的页面内容。
Duration表示缓存时间,以秒为单位,超过这个时间则缓存失效。一般只有看帖子、看新闻、看视频的页面才缓存,CUD的页面没必要缓存。
(2)设置VaryByParam="id",表示对于相同页面的不同的id参数进行单独缓存。如果有多个确定缓存的参数,则将参数名用分号隔开即可,比如VaryByParam="id;name"。
缓存可能会有过期数据的问题,因此根据需求选用。
(3)如果想让任何不同的查询字符串都能创建不同的缓存,则设置VaryByParam="*",一般情况下设置"*"就足够。
2.数据源缓存:设定ObjectDataSource的CacheDuration=**和EnableCaching=true。这样每隔设定的时间段才调用SelectMethod指定的方法来执行数据库查询,其他时候都是直接返回缓存的数据。
去数据的过程缓存,在缓存期间,绑定控件向ObjectDataSource要数据,ObjectDataSource直接将缓存的数据返回给控件,不再去向TypeName指向的类要数据。


全局文件 Global.asax

(1)全局文件是对Web应用生命周期的一个事件响应的地方。
(2)将Web应用启动时初始化的一些代码写到Application_Start中。应用关闭的时候Application_End调用。
(3)当一个Session启动的时候Session_Start被调用,Session结束(用户主动退出或者超时结束)Session_End被调用。
(4)当一个用户请求来的时候Application_BeginRequest方法被调用。
(5)当应用中出现为捕获异常,Application_Error被调用(常考:ASP.NET中的错误处理机制),用HttpContext.Current.Server.GetLastError()获得异常信息,然后用Log4Net记录到日志中。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消