使用Cache缓存Page页面

SQLite学习之路③ Page Cache(2021SC@SDUSC) SQLite 学习之路 第三节 Page Cache page cache ,即页高速缓冲存储器,用来缓存数据页面。page cache的管理独立于操作系统,当一个线程打开一个数据库连接时就会建立一个page cache,对于一个进程中的多线程,它们可以有独立的cache也可以共享一个cahce。在图中,两个进程(一个是多线程的)访问同一个数据库文件。他们有自己的缓存。即使线程打开相同的数据库文件两次或多次,在默认操作模式下,SQLite为打开的数据库连接分配单独的缓存。缓存被访问通过其不同的所有者Pag 阅读详情
使用Cache:
<%@ OutputCache Duration="15" VaryByPara="None" %>
页面使用Cache,Cache的有效期为15 seconds

使用代码表示,放在Page_Load里面:
//
//Cache Manager可以控制这个页面
//
Response.Cache.SetCacheability(HttpCacheability.Public);
//
//告诉Cache Manager,页面的有效期为当前时间+15秒
//
Response.Cache.SetExpires(DateTime.Now.AddSeconds(15));

当使用@OutputCache时,Asp.Net 调用页面对象的InitOutPutCache(),将Cache转换为对应的HttpCachePolicy()。

所有对此页面的请求,都是访问Cache中的信息,直到Cache的生存周期结束。

对于页面的Cache的使用范围和存储位置:
Cache的使用范围可以使用Location属性,或者HttpResponse.Cache对象来设置。
<%@ OutputCache Duration="15" Location="Client" VaryByPara="None" %>
或者
Response.Cache.SetExpires(DateTime.Now.AddSeconds(15));
Response.Cache.SetCacheability(HttpCacheabiligy.Private);


默认状况下,Cache可以存放在任意位置,如:用户的浏览器,响应的服务器,或者代理服务器
<%@ OutputCache Duration="15" Location="Any" VaryByPara="None" %>
等效于:
Response.Cache.SetExpires(DateTime.Now.AddSeconds(15));
Response.Cache.SetCacheability(HttpCacheability.Public);


如果禁止Cache,那么可以:
<%@ OutputCache Location="None" VaryByPara="None" %>
等效于:
Response.Cache.SetCacheability(HttpCacheability.NoCache);


使Cache存在于响应的服务器:
<%@ OutputCache Duration="15" Location="Server" VaryByPara="None" %>
等效于:
Response.Cache.SetExpires(DateTime.Now.AddSeconds(15));
Response.Cache.SetCacheability(HttpCacheability.Server);


使Cache存在于Client:
<%@ OutputCache Duration="15" Location="Any" VaryByParam="Client" %>
等效于:
Response.Cache.SetExpires(DateTime.Now.AddSeconds(15));
Response.Cache.SetCacheability(HttpCacheability.Private);


如果使用了集群,那么对于Cache的控制,应该由代理服务器来完成:
<%@ OutputCache Duration="15" Localtion="Location" VaryByPara="Client" %>
等效于:
Response.Cache.SetExpires(DateTime.Now.AddSeconds(15));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetNoServerCaching();

注意:使用Location属性,不能保证任何页面的用户控件都使用定义的Location位置,同样:如果禁止使用Cache,也不能保证页面的用户控件都禁用了Cache。
page cache 优化使用 当读文件时,linux会将文件块存入page cache中,以便加快再次读取(写文件也会先写入page cache,这里讨论读取)。当读取大文件时,会占用很多memory,导致其它应用的page cache被删除,扰乱了page cache系统。linux 提供了一些方法来解决这种问题。 posix_fadvise 给一些page cache提议,语义在advise。 NAME posix_fadvise - predeclare an access pattern for file . 阅读详情

相关推荐

【数据分析生命周期全揭秘】从零开始打造你的数据科学项目 | 最全指南

在当今数据驱动的世界中,数据科学正在颠覆传统行业,成为企业决策和价值创造的重要引擎。然而,如何科学、系统地开展一个数据分析项目?这是很多人关心的核心问题。本篇文章基于经典数据分析课程内容,深入解读数据分析生命周期的每个阶段,让你快速掌握从“发现问题”到“落地应用”的完整流程。如果你正在学习或准备从事数据分析领域,这篇文章一定会对你大有帮助!数据分析生命周期的六大阶段数据分析生命周期的六个阶段相辅相成,每个阶段都至关重要:发现问题:明确需求,提出假设。数据准备:清洗、转换和可视化数据。

AI手套的博客 1740

在ASP.NET中清除缓存

<br />在ASP.NET中清除缓存:Response.Cache.SetCacheability(HttpCacheability.NoCache); <br />或者Response.CacheControl = "no-cache"; <br />将以上任意一句加到page_load()里即可。

天地会 656

System Verilog学习笔记(十九)——覆盖率

覆盖率是用来衡量验证精度和完备性的数据指标。也可以告诉我们在仿真时设计的哪些结构被触发,哪些没被触发。高质量的验证需要满足以下三个条件。

ljy77882333的博客 2144

什么是页缓存(Page Cache)(转载)

我们知道文件一般存放在硬盘(机械硬盘或固态硬盘)中,CPU 并不能直接访问硬盘中的数据,而是需要先将硬盘中的数据读入到内存中,然后才能被 CPU 访问。 由于读写硬盘的速度比读写内存要慢很多(DDR4 内存读写速度是机械硬盘500倍,是固态硬盘的200倍),所以为了避免每次读写文件时,都需要对硬盘进行读写操作,Linux 内核使用页缓存(Page Cache)机制来对文件中的数据进行缓存。 本文使用的 Linux 内核版本为:Linux-2.6.23 什么是页缓存 为了提升对文件的读写效率,Li

一个嵌入式软件工程师的博客 8535

手把手教你用CODESYS将旧笔记本改造成软PLC(含证书配置避坑指南)

本文提供了一份详尽的指南,教你如何利用CODESYS平台将闲置旧笔记本改造为一台功能完整的软PLC。内容涵盖从硬件评估、系统实时性优化、软件安装与驱动配置,到关键的证书授权管理避坑指南,旨在帮助自动化工程师和爱好者低成本搭建稳定可靠的学习与开发平台。

weixin_29190573的博客 279

射频工程师笔记---射频通信基础

回顾一下移动通信技术的发展,其实是互联网和通信技术的融合过程。在这个过程中,很多应用都在不断加入其中。比如计算机跟通信的融合产生了互联网、互联网跟手机的融合带来了移动互联网。手机可以看杂志、看视频、听音乐,于是又出现了内容服务产业;再后来,电视音箱等设备也能联网,于是网络跟家电又产生了融合。所以应用的出现总是在融合其他产业。在1995年,比尔·盖茨在《未来之路》一书中首次提出:在未来...

多年硬件从业经历,热爱学习,记录生活! 2万+

Cache用法之缓存页面和缓存数据

Cache用法之页面声明 &lt;%@ outputCacheDuration="#ofseconds"Location="Any|Client|Downstream|Server|None"VaryByControl="ControlName"VaryByCustom="browser|customstring"VaryByHeader="headers" VaryByParam="Pa

weixin_33841722的博客 142

多层环境室内定位系统综述总结

本文是一篇发表于2025年《IEEE Access》期刊的综述论文,由埃及开罗美国大学与卡塔尔卡内基梅隆大学团队合作完成,聚焦多层环境室内定位系统的核心挑战、技术方案及未来方向,填补了该领域缺乏全面综述的空白。

程序员石磊 445

浏览器页面缓存 - Cache【性能篇】

如果【停用缓存】被勾选了,浏览器发送的请求中就会自带 Cache-Control:no-cache和Pragma:no-cache两个请求头。会强制要求缓存把请求提交给原始服务器进行验证 (协商缓存验证)。假如 Cache-Control 在请求头中不存在的话,Pragma:no-cache的行为与 Cache-Control: no-cache 一致。在Demo演示之前,切记将浏览器中的 【网络 -> 停用缓存】选项不要勾选。否则浏览器不会从本地缓存取数据。

问白的博客 2772

[解决] PDF转图片,中文乱码或显示方框的解决方案

在Java开发中,将PDF文件转换为图片是一项常见的需求,但过程中可能会遇到中文乱码或显示方框的问题。本文将深入探讨这一问题,并提供详细的解决方案,帮助开发者顺利地完成PDF到图片的转换。

DazedMen的博客 1925

【数据集】中国区域地面气象要素驱动数据集(CMFD)2.0

中国区域地面气象要素驱动数据集(CMFD)2.0

WW、forever的博客 2982

django 自带页面缓存cache_page的使用及清除

cache_page是django自带的装饰器,用起来很方便。 from django.views.decorators.cache import cache_page @cache_page(24*3600) def test(request): 直接在view的function中添加装饰器chche_page(过期时间),就可以对该页面进行缓存。但是这个cache函数管杀不管埋

果汁华的博客 1万+

大数据平台符合信创(CDH国产化代替)详细方案(企业内部不外传方案)

信创旨在实现信息技术产业的自主可控,减少对外部技术的依赖,从而提升国家信息安全和经济发展的自主性。在此背景下,中国对信创提出了更高的要求,以期在激烈的市场竞争中占据有利地位。信创不仅关乎技术层面的创新,更涉及到产业链条的整合与优化。它要求从基础硬件、操作系统、数据库、中间件等各个层面实现国产替代,构建完整的信息技术生态体系。尤其是在做国企项目时,就有硬性要求使用符合信创(国产代替)。在信创背景下,符合要求的产品必须具备自主可控、安全可靠以及性能卓越等核心特点。

大模型大数据攻城狮的专栏 3510

使用Cache缓存Page页面 (转)

使用Cache: 页面使用Cache,Cache的有效期为15 seconds 使用代码表示,放在Page_Load里面: [code="C#"]// //Cache Manager可以控制这个页面 // Response.Cache.SetCacheability(HttpCacheability.Public);[/code] [code="C#"]// //告诉Cac...

digga2012 219

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

linux [page cache&swap cache ]

page cache是一种策略,就是使用完的page并不是立即放到内核的 free page list中,而是暂时缓存着已被再次使用。这样系统中的 缓冲的page就越来越多,系统中的free page就越来越少,怎么办? 系统通过内核线程来完成缓存中页面的回收工作,这些内核线程是 定期被调用的,平时则处在睡眠的状态,如果进程需要page而free page严重短缺的时候,进程可以唤醒这些内核线程来

老猫的专栏 3546

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

linux pagecache swap,linux [page cache&swap cache ]

pagecache是一种策略,就是使用完的page并不是立即放到内核的freepagelist中,而是暂时缓存着已被再次使用。这样系统中的缓冲的page就越来越多,系统中的freepage就越来越少,怎么办?系统通过内核线程来完成缓存中页面的回收工作,这些内核线程是定期被调用的,平时则处在睡眠的状态,如果进程需要page而freepage严重短缺的时候,进程可以唤醒这些内核线程来回收缓存的...

weixin_39760368的博客 307

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【django开发手册】DRF自动缓存应用实践分享——缓存注解详解及实现原理

如何使用DRF自动缓存来优化API性能?以及如何解决常见的缓存问题。django cache_page和 drf cache_response的区别?缓存的更新机制本文主要讨论DRF自动缓存的使用。我们首先介绍了如何使用装饰器来缓存视图函数的响应结果。

Zeeland的博客 1210

使用Micrisoft.net设计方案 第三章Web表示模式 Web模式集群详细介绍 Page Cache(页面缓存)...

在编写为用户提供动态信息的、基于 Web 的应用程序。观察到许多用户访问某个特定页面,但动态信息不发生改变。 如果动态生成的 Web 页被频繁请求并且构建时需要耗用大量的系统资源,那么,如何才能改进这类网页的响应时间? 下列影响因素作用于此上下文内的系统,在考虑问题的解决方案时必须协调这些因素: 1、生成动态 Web 页会耗用各种各样的系统资源。当 Web 服务器收到页面请求时,它通常必须从外部...

技术黄牛 116

利用vmtouch管理文件的page cache

利用vmtouch管理文件的page cache,   vmtouch主页和使用说明:https://hoytech.com/vmtouch/ 源码也比较简单 https://github.com/hoytech/vmtouch/blob/master/vmtouch.c void usage() { //使用说明 printf("\n"); .... printf("

mumumuwudi的博客 1344
上一篇: 解释:ASP.NET 2.0 中的窗体身份验证
下一篇: C#反射中Assembly.Load及Assembly.Load.CreateInstance方法介绍
mywebstudy
博客等级 码龄15年 30粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值