我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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缓存机制基础概念是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

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

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

C++基础概念是什么

这篇文章主要讲解了“C++基础概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++基础概念是什么”吧!首先,通过一张最新(2021.11)的编程语言排名图来了解常见的编程语言:从图
2023-06-22

cornerstone Tools基础概念是什么

这篇文章主要介绍“cornerstone Tools基础概念是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“cornerstone Tools基础概念是什么”文章能帮助大家解决问题。corner
2023-07-05

C++ void的基础概念是什么

本篇文章为大家展示了C++ void的基础概念是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C++编程语言中的很多概念都值得我们去不断的学习,不断的从中积累经验以帮助我们在程序编写时获得更大的
2023-06-17

C++继承基础概念是什么

C++继承基础概念是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C++编程语言同样也具有面向对象的相关特性。那么它都具有哪些特点呢?在这里我们就为大家详细
2023-06-17

Java多线程基础概念是什么

本篇内容主要讲解“Java多线程基础概念是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java多线程基础概念是什么”吧!并发与并行并行,表示两个线程同时做事情。并发,表示一会做这个事情,一
2023-06-17

Java中二叉树的基础概念是什么

这篇文章主要讲解了“Java中二叉树的基础概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中二叉树的基础概念是什么”吧!1. 树型结构1.1概念树是一种 非线性 的数据结构,
2023-06-29

ecs云服务器的基础概念是什么

云服务器的基础概念是分布式计算。通过将计算任务分配给多个计算实例,云服务器可以实现高效的资源分配和负载均衡,以确保每个实例都能够以最高的效率运行。这种分布式计算的优势在于,可以提高计算能力和响应速度,同时减少了系统崩溃和网络中断的风险。云服务器的工作原理是通过网络将计算资源和数据存储资源连接起来,然后通过云服务器实例进
ecs云服务器的基础概念是什么
2023-10-28

云服务器ecs基础概念网络是什么

云服务器ECS(ElasticsearchPlatform)是一种云计算服务,它允许企业在其私有网络中托管大量数据,使其可以随时获取所需的信息或应用程序。它主要提供了以下几个网络服务:数据存储和管理:通过云服务器ECS,用户可以将数据存储在云服务器上的多个服务器上,从而实现高效地存储和管理数据。这些服务提供了数据的存储和管理功能,包括数据复制、备份、数据库管理、数据安全等。网络连接和带宽配
2023-10-26

云服务器ecs基础概念镜像是什么

云服务器ECS基础概念镜像指的是一个文件,它是云服务器的基础组件之一,用于保存在云服务器上的数据和应用程序。这个文件通常被保存在多个不同的位置,并且通常包含一些必要的信息,例如文件的名称、版本、文件大小、所属的应用程序等等。云服务器ECS基础概念镜像的具体作用可能因不同的云提供商而异。例如,AWSECS基础概念镜像是一个存储在AWS云服务器上的文件,用于存储数据和应用程序。它还可以用作服务器之
2023-10-26

Django缓存机制是什么

本篇内容介绍了“Django缓存机制是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!缓存的介绍在动态网站中,用户所有的请求,服务器都会去
2023-07-05

redis缓存机制是什么

redis 的缓存机制通过将数据副本存储在内存中来加速访问,提高应用程序性能。其核心步骤包括:数据写入时存储在内存中;读取时首先检查内存,存在则直接返回,不存在则从持久化存储加载;设置过期时间 (ttl) 以实现缓存失效;内存空间不足时采用
redis缓存机制是什么
2024-04-08

MySQL关系型数据库的基础概念是什么

这篇文章主要介绍“MySQL关系型数据库的基础概念是什么”,在日常操作中,相信很多人在MySQL关系型数据库的基础概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL关系型数据库的基础概念是什么
2023-06-20

什么是HTTP的缓存机制

这篇文章给大家介绍什么是HTTP的缓存机制,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。缓冲机制普遍存在,有客户端缓存、服务端缓存、代理服务器缓存等。浏览器缓存是在HTTP中起缓存作用的。HTTP缓存作为优化web性能
2023-06-25

云服务器ecs基础概念镜像设计是什么

镜像设计:将计算资源映射到特定的基础设施上,如使用Linux系统镜像来安装一个新的操作系统。分区设计:将应用程序分割成多个镜像,每个镜像包含一个或多个程序。运行时映射:将镜像中的程序分配到不同的虚拟机或容器中,以便在不同的物理机上运行。网络映射:将应用程序通过网络映射到云平台上,以便用户可以通过云平台访问应用程序。配置文件设计:将应用程序配置文件映射到云平台上,以便用户可以通过云平台配置应用程序。用户...
2023-10-27

C#零基础开发中最重要的概念是什么

本篇内容主要讲解“C#零基础开发中最重要的概念是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#零基础开发中最重要的概念是什么”吧!初步学习C#自然推荐使用宇宙最强IDE Visual S
2023-07-05

什么是ER图?数据库ER图基础概念整理

ER图(Entity-Relationship Diagram)是一种用于描述实体间关系的图形化工具。它是数据库设计中常用的一种方法,用于可视化和设计数据库结构。基本概念整理如下:1. 实体(Entity):实体是现实世界中的一个独立存在的
2023-09-21

云服务器ecs基础概念安全组件是什么

云服务器ECS基础概念安全组件通常是一个软件组件,用于保护云服务器的应用程序和数据。其中,基础概念安全组件是安全性管理系统(BSM)的核心模块,可以帮助安全团队识别和管理云服务器环境中的安全漏洞、威胁和风险。在云服务器ECS基础概念安全组件中,安全组件包含以下几个模块:安全监视器:安全组件监视云服务器的运行状态,如系统日志、漏洞报告和安全事件。这些监视器可以报告潜在的安全问题和漏洞,从而帮
2023-10-26

云服务器ecs基础概念镜像是什么意思

实例(Instance):云服务器ecs中的实例是云服务器的主要组成部分,也是实现资源共享的核心。实例是一种资源,它可以提供多个云服务器之间的互联。实例的类型包括:计算资源、存储资源和网络资源等。实例可以通过多种方式来创建,包括内存、磁盘、网络等。镜像(Referee):镜像是指一种将多个云服务器的资源集中起来,并且将
2023-10-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录