iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >ASP.NET缓存机制基础概念是什么
  • 542
分享到

ASP.NET缓存机制基础概念是什么

2023-06-18 00:06:12 542人浏览 独家记忆
摘要

这篇文章主要讲解了“asp.net缓存机制基础概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ASP.net缓存机制基础概念是什么”吧!ASP.NET缓存机制名词解释页输出缓存:保存

这篇文章主要讲解了“asp.net缓存机制基础概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ASP.net缓存机制基础概念是什么”吧!

ASP.NET缓存机制名词解释

页输出缓存:保存页处理输出,下次重用所保存的输出

应用程序缓存:允许缓存所生成的数据,如DataSet

ASP.NET缓存机制概念㈠:页输出缓存

页输出缓存的几中形式

①<%@ OutputCache Duration="60" VaryByParam="None" Location="Any"%>

Location指定在哪个地方缓存,Any任何地方都缓存。

60秒以内看到的都是一样的了。

②还可在配置文件里写,然后在页面调用配置文件的缓存名称。

③用编程的方式:

Response.Canche.SetExpires(DateTime.Now.AddSeconds(3));

Response.Canche.SetCacheabiliy(HttpCacheability.Public);

Response.Canche.SetValidUntilExpires(true);

相当于:

Public => Any

Private => Client

NoCache => None

Server => Server

ServerAndPrivate =>ServerAndClient

使用文件依赖项缓存页输出

产生背景:有时候,可能需要在文件发生更改时从输出缓存中移除某一项。就是说文件改了以后缓存立即失效。

string filepath = Server.MapPath("TextFile1.txt");

Response.AddFileDependency(filepath);//添加缓存依赖项

Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));

Response.Cache.SetCacheability(HttpCacheability.Public);

Response.Cache.SetValidUntiExpires(true);

缓存多个版本

①使用请求的浏览器对页的各个版本进行缓存

<%@OutputCache Duration="10" VaryByParam="None" VaryByCustom="browser"%>

②使用参数对页的各个版本进行缓存

<%@OutputCache Duration="60" VaryByParam="City"%>

这个调试可以在url后加QueryString

如:...url?City=shanghai

程序里得到这个上海然后再做其他的操作,这个时候如果参数传的还是shanghai它就不会在走到程序里了。

动态更新缓存页的部分,有三种方法可以实现部分不缓存

①已声明方式使用Substitution控件

<asp:Substitution ID="Substitution1" runat="server" MethodName="GetCurrentDateTime" />

public static string GetCurrentDateTime(HttpContext context)

{

return DateTime.Now.ToString();

}

//方法签名必须和委托签名一致

②以编程的方式使用Substitution控件api

Response.WriteSubstitution(new HttpResponseSubstitutionCallback(GetCurrentDateTime))

③以隐式方式使用AdRotator控件

这个控件永远都是不缓存的

ASP.NET缓存机制概念㈡:SQL Server依赖的缓存,非常之有用

当表数据发生改变就清除缓存

SQL Server启用缓存通知

aspnet_regsql.exe -S <Server> -U <Username> -P <PassWord>

-ed -d Northwind -et -t Employees

Server:服务器

Username:用户名

Password:密码

Northwind:数据库

Employees:表

为缓存功能配置网页

<%@OutputCache Duration="3600" SqlDependency="Northind:Employees" VaryByParam="none"%>

WEB.config文件中设置缓存配置

<caching>

<sqlCacheDependency enabled="true" pollTime="1000">

<database>

<add name="Northind" connectionStringName="..." pollTime = "1000" />

</database>

</sqlCacheDependency>

</caching>

//这里的name要是数据库名称

ASP.NET中的数据缓存有许多种,一般来说大型的数据使用 Cache对象缓存,用户身份信息用Session对象缓存,小型数据用Cookie对象缓存在客户端。

其中 Cache和Session应该属于系统级的缓存,Cookie属于用户客户端的缓存

除此之外还有用户控件的缓存,我转载一篇文章来详细介绍用户控件的缓存

<%@ OutputCache Duration="60" VaryByParam="*" %>

如同其他页面指令一样,该指令应该出现在ASPX页面的顶部,即在任何输出之前。它支持五个属性(或参数),其中两个是必需的。

Duration 必需属性。页面应该被缓存的时间,以秒为单位。必须是正整数。

Location 指定应该对输出进行缓存的位置。如果要指定该参数,则必须是下列选项之:Any、Client、Downstream、None、Server或ServerAndClient。

VaryByParam 必需属性。Request中变量的名称,这些变量名应该产生单独的缓存条目。“none”表示没有变动。“*”可用于为每个不同的变量数组创建新的缓存条目。变量之间用“;”进行分隔。

VaryByHeader 基于指定的标头中的变动改变缓存条目。

VaryByCustom 允许在global.asax中指定自定义变动(例如,“Browser”)。

利用必需的Duration和VaryByParam选项的组合可以处理大多数情况。例如,如果您的产品目录允许用户基于cateGoryID和页变量查看目录页,您可以用参数值为“categoryID;page”的VaryByParam将产品目录缓存一段时间(如果产品不是随时都在改变,一小时还是可以接受的,因此,持续时间是3600秒)。这将为每个种类的每个目录页创建单独的缓存条目。每个条目从其***个请求算起将维持一个小时。

VaryByHeader 和VaryByCustom主要用于根据访问页面的客户端对页面的外观或内容进行自定义。同一个URL可能需要同时为浏览器和移动电话客户端呈现输出,因此,需要针对不同的客户端缓存不同的内容版本。或者,页面有可能已经针对IE进行了优化,针对Netscape或Opera则应取消这种优化功能。后一个例子非常普遍,我们将提供一个说明如何实现此目标的示例:

示例:VaryByCustom用于支持浏览器自定义

为了使每个浏览器都具有单独的缓存条目,VaryByCustom的值可以设置为“browser”。此功能已经内置在缓存模块中,并且将针对每个浏览器名称和主要版本插入单独的页面缓存版本。<%@ OutputCache Duration="60" VaryByParam="None" VaryByCustom="browser"%>

示例:

<%@ OutputCache Duration="60" VaryByParam="*" %>

该示例将缓存用户控件60秒,并且将针对查询字符串的每个变动、针对此控件所在的每个页面创建单独的缓存条目。

<%@ OutputCache Duration="60" VaryByParam="none"

VaryByControl="CategoryDropDownList" %>

该示例将缓存用户控件60秒,并且将针对CategoryDrop

DownList控件的每个不同的值、针对此控件所在的每个页面创建单独的缓存条目。

<%@ OutputCache Duration="60" VaryByParam="none" VaryByCustom="browser"

Shared="true" %>

***,该示例将缓存用户控件60秒,并且将针对每个浏览器名称和主要版本创建一个缓存条目。然后,每个浏览器的缓存条目将由引用此用户控件的所有页面共享(只要所有页面都用相同的ID引用该控件即可)。

下面的示例说明了如何设置页或用户控件进行输出缓存的持续时间。

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

感谢各位的阅读,以上就是“ASP.NET缓存机制基础概念是什么”的内容了,经过本文的学习后,相信大家对ASP.NET缓存机制基础概念是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: ASP.NET缓存机制基础概念是什么

本文链接: https://www.lsjlt.com/news/294616.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ASP.NET缓存机制基础概念是什么
    这篇文章主要讲解了“ASP.NET缓存机制基础概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ASP.NET缓存机制基础概念是什么”吧!ASP.NET缓存机制名词解释页输出缓存:保存...
    99+
    2023-06-18
  • C++基础概念是什么
    这篇文章主要讲解了“C++基础概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++基础概念是什么”吧!首先,通过一张最新(2021.11)的编程语言排名图来了解常见的编程语言:从图...
    99+
    2023-06-22
  • cornerstone Tools基础概念是什么
    这篇文章主要介绍“cornerstone Tools基础概念是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“cornerstone Tools基础概念是什么”文章能帮助大家解...
    99+
    2023-07-05
  • C++继承基础概念是什么
    C++继承基础概念是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C++编程语言同样也具有面向对象的相关特性。那么它都具有哪些特点呢?在这里我们就为大家详细...
    99+
    2023-06-17
  • C++ void的基础概念是什么
    本篇文章为大家展示了C++ void的基础概念是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C++编程语言中的很多概念都值得我们去不断的学习,不断的从中积累经验以帮助我们在程序编写时获得更大的...
    99+
    2023-06-17
  • Java多线程基础概念是什么
    本篇内容主要讲解“Java多线程基础概念是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java多线程基础概念是什么”吧!并发与并行并行,表示两个线程同时做事情。并发,表示一会做这个事情,一...
    99+
    2023-06-17
  • ecs云服务器的基础概念是什么
    云服务器的基础概念是分布式计算。通过将计算任务分配给多个计算实例,云服务器可以实现高效的资源分配和负载均衡,以确保每个实例都能够以最高的效率运行。这种分布式计算的优势在于,可以提高计算能力和响应速度,同时减少了系统崩溃和网络中断的风险。 ...
    99+
    2023-10-28
    概念 服务器 基础
  • Java中二叉树的基础概念是什么
    这篇文章主要讲解了“Java中二叉树的基础概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中二叉树的基础概念是什么”吧!1. 树型结构1.1概念树是一种 非线性 的数据结构,...
    99+
    2023-06-29
  • mysql锁机制的概念是什么
    本文小编为大家详细介绍“mysql锁机制的概念是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql锁机制的概念是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。My...
    99+
    2022-10-19
  • 云服务器ecs基础概念网络是什么
    云服务器ECS(Elasticsearch Platform)是一种云计算服务,它允许企业在其私有网络中托管大量数据,使其可以随时获取所需的信息或应用程序。它主要提供了以下几个网络服务: 数据存储和管理:通过云服务器ECS,用户可以将数...
    99+
    2023-10-26
    概念 服务器 基础
  • 云服务器ecs基础概念镜像是什么
    云服务器ECS基础概念镜像指的是一个文件,它是云服务器的基础组件之一,用于保存在云服务器上的数据和应用程序。这个文件通常被保存在多个不同的位置,并且通常包含一些必要的信息,例如文件的名称、版本、文件大小、所属的应用程序等等。 云服务器EC...
    99+
    2023-10-26
    镜像 概念 服务器
  • MySQL关系型数据库的基础概念是什么
    这篇文章主要介绍“MySQL关系型数据库的基础概念是什么”,在日常操作中,相信很多人在MySQL关系型数据库的基础概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL关系型数据库的基础概念是什么...
    99+
    2023-06-20
  • 云服务器ecs基础概念镜像设计是什么
    镜像设计:将计算资源映射到特定的基础设施上,如使用Linux系统镜像来安装一个新的操作系统。 分区设计:将应用程序分割成多个镜像,每个镜像包含一个或多个程序。 运行时映射:将镜像中的程序分配到不同的虚拟机或容器中,以便在不同的物理机上运行...
    99+
    2023-10-27
    镜像 概念 服务器
  • 云服务器ecs基础概念网络是什么意思
    网络是云服务器的核心要素之一。云服务器的网络分为内部网络和外部网络。内部网络是指云服务器内部的物理网络,包括服务器内部的网络、数据中心网络等。外部网络是指云服务器与外部互联的网络,它可以是公共互联网、专线等。 内部网络的作用是将云服务器内...
    99+
    2023-10-28
    概念 服务器 基础
  • 云服务器ecs基础概念镜像是什么意思
    实例(Instance):云服务器ecs中的实例是云服务器的主要组成部分,也是实现资源共享的核心。实例是一种资源,它可以提供多个云服务器之间的互联。实例的类型包括:计算资源、存储资源和网络资源等。实例可以通过多种方式来创建,包括内存、磁盘...
    99+
    2023-10-27
    镜像 概念 服务器
  • 云服务器ecs基础概念安全组件是什么
    云服务器ECS基础概念安全组件通常是一个软件组件,用于保护云服务器的应用程序和数据。其中,基础概念安全组件是安全性管理系统(BSM)的核心模块,可以帮助安全团队识别和管理云服务器环境中的安全漏洞、威胁和风险。 在云服务器ECS基础概念安全...
    99+
    2023-10-26
    组件 概念 服务器
  • 什么是ER图?数据库ER图基础概念整理
    ER图(Entity-Relationship Diagram)是一种用于描述实体间关系的图形化工具。它是数据库设计中常用的一种方法...
    99+
    2023-09-21
    数据库
  • C#零基础开发中最重要的概念是什么
    本篇内容主要讲解“C#零基础开发中最重要的概念是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#零基础开发中最重要的概念是什么”吧!初步学习C#自然推荐使用宇宙最强IDE Visual S...
    99+
    2023-07-05
  • 云服务器ecs基础概念镜像是什么意思呀
    在云服务器ECS中,镜像可以被用来快速创建、添加、删除和移动实例对象。通过使用镜像,用户可以在云服务器上创建一个新的实例对象,而不必重新安装所有应用程序。当需要添加或删除一个实例对象时,用户只需要使用相应的镜像文件即可。此外,镜像还可以用来...
    99+
    2023-10-27
    镜像 概念 服务器
  • 云服务器ecs基础概念网络是什么意思呀
    云服务器网络包括两个方面:云服务器ECS网络和外部网络。云服务器ECS网络是指云服务器与外部网络之间的连接,可以是内部网络或外部网络。云服务器ECS网络可以通过多种网络拓扑结构来实现,如Internet网络、Wi-Fi网络、光纤网络等。外部...
    99+
    2023-10-27
    概念 服务器 基础
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作