作业帮 > ASP.NET > 教育资讯

ASP.NET教程:网站性能优化之应用程序缓存

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/14 13:46:49 ASP.NET
ASP.NET教程:网站性能优化之应用程序缓存
ASP.NET教程:网站性能优化之应用程序缓存ASP.NET
【无忧考网-ASP.NET教程:网站性能优化之应用程序缓存】:

一、上章回顾

       上一章中我们主要简单的介绍了如何使用服务器缓存及如何实现服务器缓存,下面我们来通过下图来进行详细回顾:

       image

       1、用户发送页面请求,等待服务器返回信息。

       2、表示层通过请求业务层来访问业务数据信息。

       3、业务层在与数据访问层交互时先与服务器缓存组件交互。

       4、服务器缓存在接收数据请求并处理的过程中判定服务器缓存中是否存在指定的数据集缓存对象。如果存在则返回该缓存对象,否则通过数据访问层,访问数据

库中的数据,并把数据缓存在服务器组件中。并返回该查询结果集。

       5、表示层获得数据集合后显示。

二、摘要

       本章将主要讲解缓存中的过期策略及如何平衡过期这个过期策略,怎么样在项目中解决这样的问题,这就是本篇要讲述的内容。

三、本章大纲

       1、上章回顾。

       2、摘要。

       3、本章大纲。

       4、具体策略分析。

       5、缓存过期策略方案。

       6、本章总结。

       7、下篇预告。

四、具体策略分析

       我们我们平时使用缓存中最头疼的问题应该就是缓存的过期的问题吧,缓存带来的好处显而易见,不见提高了网站应用程序的性能,同时提高了访问的速度,减少

了与数据库交互的次数。无疑是好的方案,所以网上有很多的建议都是,能缓存的数据尽量缓存,因为缓存必定能带来性能的提升。同时有个很大的问题始终困扰着我

们。这样是我平时在使用缓存的过程中头疼的问题。例如这样的情况:

       image

       所以问题就随之而来,如何保证这个产品策略的过期性和同步性,当然我们知道产品分类一般情况下变化不大,所以我们缓存,对于信息变化或者改变频率较高的

数据,我们当然可以考虑每次加载的时候都缓存,等到第二次访问的时候过期这样的方式来处理也是可以的。总之呢就是不经常改变的常用的数据信息能缓存的一定缓

存。大家都知道2-8法则的,其实不管是什么程序基本上都满足这个原则。

       image

       当然Winform的程序则会比较复杂一些,可能制定的策略相对来说也不好指定。因为一般情况下来说客户端/服务器这样的形式,一般的数据信息都缓存在客户

端,这样服务器压力小一些,当然也有弊端,就是每个客户端都是有自己的快照副本,不过由于现在硬件的速度发展迅速,所以这方面的力度可以考虑加大,显而易

见,当数据库中的数据发生改变后,如何通知winform程序进行缓存更新也是个重要的问题,毕竟winform程序的缓存策略与web程序的缓存方式有所不同。当然如果

说winform也是采用服务器端缓存的话,当然也可以采用上面我们讨论的方式来实现更新策略。

        下面我们来看看我理解的可操作的winform的缓存策略的更新。

        image

        当然上面只是个人愚见,不足之处还请大家多多指点。欢迎大家拍砖,下面我们来讲讲各种策略的实现及优缺点。

五、缓存过期策略方案

        上面我们简单的分析了,winform与web应用程序的可能的缓存过期策略。下面我们来讲讲几种可能的解决方案,当然只是个人愚见,还请大家拍砖,这里只是

抛砖引玉,没有考虑更复杂的情况。还请大家多多分享自己的经验。

ASP.NET