宝哥软件园

ASP.NET缓存的一些总结分享

编辑:宝哥软件园 来源:互联网 时间:2021-10-08

1.1.1总结最近,我们的系统面临着严重的性能瓶颈问题,这是由于访问量的增加和客户端请求的同时增加,这迫使我们从增加硬件和提高系统性能两个方面来解决这个问题。你可以通过各种方法优化我们的系统。这篇博文将介绍Cache方法来优化系统性能,减轻系统负担。1.1.2缓存在不同位置的文本主要用于Web应用程序:客户端浏览器缓存、客户端和服务器,以及服务器。因此,缓存可以分为以下几类:客户端缓存、代理缓存、反向代理缓存和网络服务器缓存。ASP中有两种类型的缓存。NET:输出缓存和数据缓存。输出缓存:这是最简单的缓存类型,保存发送给客户端的页面副本。当下一个客户端发送相同的页面请求时,页面将不会重新生成(在缓存截止时间内),而是从缓存中获取。当然,因为缓存过期或回收,页面会重新生成。数据缓存除此之外,还有两种特殊的缓存:片段缓存和数据源缓存。片段缓存:这是一个特殊的输出缓存,不缓存整个页面,只缓存部分页面。因为缓存整个页面通常是不可行的,因为页面的某些部分是为用户定制的(比如用户登录信息),但是我们可以缓存应用程序的共享部分,那么我们可以考虑使用片段缓存和用户控制缓存。数据源缓存:是基于数据源控件的缓存,包括SqlDataSource、ObjectDataSource和XmlDataSource控件。数据源缓存使用数据缓存,不同的是我们不需要通过display方法来处理缓存。我们只需要设置相应的属性,然后数据源控件就可以存储和检索数据了。输出缓存输出缓存可以缓存最终呈现的页面。当客户端再次请求同一个页面时,控件对象不会被重新创建,页面的生命周期也不再启动,因此无需再次执行代码。现在,我们设计一个页面。每当用户发送页面请求时,我们都会获得当前的代码执行时间,然后将其显示在页面上。

图1输出缓存这是一个简单的例子。每次用户发送页面请求时,页面显示时间都会更新。这是因为每次发出请求时都会获得一个新页面。事实上,我们不需要实时响应用户的每一个页面请求。我们可以通过输出缓存来缓存页面。每当用户发送相同的页面请求时,并且在缓存的有效期间,缓存的页面可以通过输出缓存返回给用户。要实现输出缓存,我们只需要在页面中添加以下代码:复制代码如下:-添加输出缓存指令-%@输出缓存Duration=' 23 ' VaryByParam=' none ' %它支持五个属性,其中两个属性Duration和VaryByParam是Duration的必需属性。应该缓存页面的时间(秒)。必须是正整数。位置指定应该缓存输出的位置。要指定此参数,它必须是以下选项之一:任意、客户端、下游、无、服务器或服务器客户端。需要VaryByParam属性。请求中变量的名称,这将导致单独的缓存条目。“无”意味着没有变化。*”可用于为每个不同的变量数组创建新的缓存条目。使用“;”变量之间。分开。VaryByHeader根据指定标头中的更改来更改缓存条目。VaryByCustom允许您在global.asax中指定自定义更改(例如,“Browser”)。表输出缓存属性在这里,我们将输出缓存的有效期设置为23秒,即缓存过期时,将被回收;当用户再次请求页面时,需要重新创建页面。客户端缓存的另一个选项是客户端缓存。如果用户单击浏览器中的“后退”按钮或在地址栏中重新输入网址,在这种情况下,浏览器将从缓存中获取页面。但是,如果用户单击“刷新”按钮,浏览器中的缓存将无效,浏览器将发送页面请求。如果我们想使用客户端缓存,只需在OutputCache中指定属性location=“client”,具体代码如下:复制代码如下:-设置客户端OutputCache-%@输出缓存持续时间=' 23 ' varybyparam=' none ' Location=' client ' %通过向输出缓存添加Location属性,我们实现了客户端缓存。通过设置客户端缓存,我们可以减少客户端请求。有人可能会问:“每个用户第一次页面。

更多资讯
游戏推荐
更多+