`
dzgwt2004
  • 浏览: 167809 次
  • 来自: 浙江杭州
社区版块
存档分类
最新评论

使用Cache缓存Page页面 (转)

阅读更多
使用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。


http://support.microsoft.com/kb/323290
分享到:
评论

相关推荐

    设置页面缓存Cache

    ### 设置页面缓存Cache #### 知识点一:页面缓存的概念与作用 页面缓存(Page Caching)是Web开发中一种重要的优化技术,主要用于提高网站性能和响应速度。通过将页面的HTML输出存储在服务器端的缓存中,当用户...

    如何用PageCache缓存技巧加速你的网站

    ### 如何用PageCache缓存技巧加速你的网站 #### 一、引言 随着互联网技术的发展,动态网站逐渐成为主流。然而,动态网站虽然具备更好的交互性和灵活性,但同时也带来了性能上的挑战。为了提高网站的加载速度并减轻...

    nuxt-page-cache:nuxt页面级缓存

    Nuxt.js提供了许多便利的功能,其中之一就是页面级别的缓存,这正是"nuxt-page-cache"插件的核心所在。本文将深入探讨nuxt-page-cache插件,以及它如何帮助优化Nuxt应用的性能。 页面缓存是提高网站性能的关键策略...

    Cache 缓存数据和删除缓存的简单示例

    本文将深入探讨Cache缓存数据的原理和实现方法,以及如何有效地管理并删除缓存,以确保高效且响应迅速的应用服务。 首先,我们需要理解什么是缓存。缓存是一种存储技术,用于临时存储经常访问的数据,以减少对主...

    Laravel开发-laravel-page-cache

    `laravel-page-cache` 支持缓存标签,可以为不同的页面分配不同的标签,当某些数据更新时,可以通过标签清除相关的页面缓存,而不是全局清除。例如: ```php /** * @PageCache(60, ['news', 'latest']) */ public ...

    页面缓存和清除页面缓存

    若要清除所有页面缓存,可以遍历`HttpRuntime.Cache`并移除所有项。但请注意,这可能会对性能产生影响,因为缓存的存在就是为了提高性能。 4. **缓存策略与配置**:ASP.NET还支持基于时间、依赖性、用户角色等条件...

    Supercache+超级缓存使用详解

    Supercache 超级缓存使用详解 Supercache 是一种高性能的缓存技术,能够极大地提高计算机的读写性能。下面是 Supercache 的使用详解。 一、安装方法 在安装 Supercache 之前,需要先安装好重开机,然后在我的...

    Magento 全页缓存-brim_pagecache-2.1.3

    "full_page_cache.pdf"可能是插件的用户手册或技术文档,详细介绍了如何安装、配置和使用这款全页缓存插件。这份文档通常会涵盖如下的知识点: 1. **安装步骤**:包括下载插件、上传至服务器、在Magento后台管理...

    Laravel开发-page-cache

    这个"page-cache"项目是针对Laravel的页面缓存机制的一个实现,让我们深入探讨一下这个主题。 1. **页面缓存原理** 页面缓存的基本思想是,对于那些不经常变动但每次请求都需要复杂计算的页面,将其生成的HTML存储...

    magento 加速插件 full page cache 花了我几十美金买的

    Full Page Cache 插件的核心功能是通过缓存整个页面来显著提高网站的加载速度。在传统的Web应用中,每次用户请求页面,服务器都需要重新生成HTML。而使用FPC,首次请求时生成的完整页面会被存储在缓存中,后续的相同...

    .NET缓存 CaChe

    在描述中提到的“CaChe缓存用户的基本信息”,这是一种常见的应用场景,通过将用户基本信息存储在缓存中,避免每次请求都去数据库查询,从而降低了数据库的压力和响应时间。 在.NET中,有多种缓存策略可供选择,...

    16.docx The Page Cache and Page Writeback

    Linux内核中的页缓存(Page Cache)是操作系统性能优化的关键技术之一,它有效地解决了磁盘I/O速度远低于内存访问速度的问题。由于磁盘访问时间以毫秒计,而内存访问仅需纳秒,因此将频繁访问的数据存放在内存中可以...

    Laravel开发-cachepage

    `cachepage`通常指的是使用缓存来存储整个页面内容,以便在后续请求时能快速响应,减少数据库查询和处理时间。这里我们将详细探讨Laravel中的缓存机制以及`cachepage`中间件的使用。 Laravel提供了多种缓存驱动,...

    基于OSCache的页面缓存(收藏)

    Cache cache = CacheManager.getInstance().getCache("pageCache"); cache.putObject(url, pageContent); ``` 为了在页面内容发生改变时自动更新缓存,可以监听数据层的变更事件,比如在更新或删除记录后,清除相应...

    laravel-page-cache

    php artisan vendor:publish --provider="SiteOrigin\PageCache\PageCacheServiceProvider" --tag="config" 默认情况下,缓存的文件存储在您的应用存储公共路径中。 因此,您需要确保将其链接到您的实际公共路径。...

    如何清空缓存如何清空缓存

    - 尽管`SetNoStore`可以有效地阻止页面被缓存,但它不能控制用户的本地缓存行为(如浏览器插件等)。 #### 五、示例代码详解 1. **`Page_Load`方法**: - 这是ASP.NET中的一个关键生命周期事件,用于处理页面...

    Nuxt页面级缓存的实现

    下面是一个使用Koa服务器实现页面级缓存的简单示例: ```javascript const microCache = LRU({ max: 100, // 最大缓存条数 maxAge: 1000, // 条目在1秒后过期 }); const isCacheable = req =&gt; { // 检查请求...

    WordPress缓存插件(WP Super Cache和W3 Total Cache).rar

    WP Super Cache 和 W3 Total Cache是两款目前WordPress系统上下载和使用率最高的缓存插件,在之前的文章,最火软件也曾经多次提到这两个插件,现在被发现这两个插件同存在了安全漏洞,该漏洞允许远程用户在服务器...

    magento footer no cache,不缓存页面底部footer部分

    然而,在某些情况下,我们可能希望特定部分,比如页面底部的footer,不被缓存,以便于实时显示更新内容或者避免缓存问题。"magento footer no cache"这个主题就是关于如何在Magento系统中实现这一功能的讨论。 在...

Global site tag (gtag.js) - Google Analytics