`
leonardleonard
  • 浏览: 820891 次
社区版块
存档分类
最新评论

Cache总义Cache用法之页面声明

阅读更多

Cache总义Cache用法之页面声明

<%@ outputCache
Duration="#ofseconds"
Location="Any|Client|Downstream|Server|None"
VaryByControl="ControlName"
VaryByCustom="browser|customstring"
VaryByHeader="headers"
VaryByParam="Parametername" %>

Cache用法之代码控制
HttpCachePolicy类是专门用来控件Cache的,可以用Response.Cahce来访问这个类的实例

 

Response.Cache.SetExpires(DateTime.Now.AddSeceonds(10));
Response.Cache.SetCacheability(HttpCacheablility.Public);
Response.Cache.SetValidUnitlExpires(true);
-----------------------以上都是缓存页面的,下面是缓存数据的----------------------------
Cache类的生存周期等于应用程序的生命周期
三种用法
1:存:Cache["key"] = MyData;取:
MyData = Cache["key"];
if(MyData != null)
    use(MyData);
此法存入Cache的数据生命周期等于应用程序生命周期,不支持清除、过期、依赖性等功能。


2:存:
Cache.Insert(
string key,
object value,
CacheDependency dependencies,//依赖,设置缓存有效的依赖性,比如设置和一个文件相关,文件一变,就失效
DateTime absoluteExpireation,  //设置固定的过期时间
TimeSpan slidingExpiration, //设置最后一次访问后多长时间过期
CachePriority priority, //设置内存不足,缓存自动清除时,缓存的重要性,可不可以清除
CacheItemRemovedCallback onRemoveCallback // 设置在清除时引发的事件
)
Example:


Cache.Insert("Mydata",MyData,new Caching.CacheDependency(Server.MapPah("Mydata.XML")));//设置有效性和一个文件有关
Cache.Insert("Mydata",myData,null,DateTime.Now.AddDays(1),Cache.NoSlidingExpiratin);//两种过期时间设了其中一种,另一种要设为0,用NoAbsolute(Sliding)Expiration枚举
Cache.Insert("MyData",myData,null,Cache.NoAbsoluteExpiration,TimeSpan.FromMinutes(10));//不能过一年不能小于0
Cache.Insert("MyData",myData,null,Cache.NoAbsoluteExpiration,TimeSpan.FromMinutes(10),Caching.CacheItemPriority.NotRemovable,null);// AboveNormal|BelowNormal|Default|High|Low|Normal|NotRemovable

public void RemovedCallback(string key,object value,CacheItemRemovedReason reason)
{
    if(reason == CacheItemRemovedReason.DependencyChanged)
        Response.Write("文件变了,快去看看");
}
Cache.Insert("Mydata",MyData,new Caching.CacheDependency(Server.MapPah("Mydata.XML"),DateTime.Now.AddDays(1),Cache.NoSlidingExpiration,CacheItemPriority.High,new CacheItemRemovedCallback(this.RemovedCallback));
清除就可以用Cache.Remove("key");方法


3:
Cache.Add方法,用法和Insert差不多,区别在于Add碰到该key原来有赋过值会失败,Insert则不会,而会替换原有值;Add会返回被缓存数据项,Insert不会

 

分享到:
评论

相关推荐

    clear_cache.zip

    总的来说,"clear_cache.zip"提供了一个高效的方法,使得Chrome用户能够轻松管理浏览器的缓存,提升浏览体验并解决可能出现的问题。对于经常需要处理浏览器缓存的用户来说,这是一款非常实用的工具。

    springboot+mybatisplus+redis+spring cache缓存

    接下来,需要配置Spring Cache,指定使用Redis作为缓存 provider,并定义缓存的名称、过期策略等。可以通过`@Cacheable`、`@CacheEvict`、`@CachePut`等注解在业务逻辑中声明缓存行为。 在MyBatis Plus中,可以...

    Hibernate 缓存 实例

    // 省略构造函数和测试方法声明 public void testCache1() { Session session = HibernateUtils.getSession(); session.beginTransaction(); Student student = (Student) session.load(Student.class, 1); ...

    基于OSCache的页面缓存

    在同一个页面中,可以多次使用`cache`标签,但如果没有指定`key`属性,系统会自动根据页面URI和请求字符串生成一个独特的key,但这样做可能引发冲突,因此推荐明确指定`key`。 通过上述方式,OSCache允许开发者灵活...

    Ehcache使用手册

    - **缓存页面部分**: 如果只想缓存页面的一部分,可以使用`&lt;%@ cache %&gt;`JSP指令或`&lt;c:cache&gt;`标签库,指定缓存的区域和key。 4. **分布式缓存配置** - Ehcache支持分布式缓存,允许在多台服务器之间共享缓存。这...

    android使用html写一个关于页面

    在Android应用开发中,创建一个“关于”页面通常涉及到显示应用的版本信息、开发者信息、版权声明等。传统的做法是使用TextView进行布局堆砌,但这种方法维护起来繁琐且不易于动态更新。本文将介绍如何利用HTML和...

    PHP中header函数的用法及其留意事项详解_.docx

    这篇文章将深入探讨`header()`函数的使用方法以及需要注意的事项。 首先,`header()`函数的基本语法如下: ```php void header ( string $string [, bool $replace = true [, int $http_response_code ]] ) ``` ...

    jQuery学习记录----页面缓存和中文处理(三)

    例如,当我们使用$.ajax()方法时,可以设置`cache: true/false`来决定是否允许缓存响应数据。如果希望禁用缓存,可以在URL末尾添加一个时间戳参数,以确保每次请求都是新鲜的。 接下来,我们来讨论中文处理。在处理...

    Ehcache 整合Spring 使用页面、对象缓存

    Ehcache 是一款广泛使用的开源Java缓存解决方案,它可以用于存储页面、对象和数据,以提升应用程序的性能和响应速度。Ehcache 提供了内存和磁盘存储的支持,并且包含多种淘汰策略,如LRU(Least Recently Used)、...

    提升JSP页面响应速度的七大秘籍绝招

    - 明确指出哪些页面不需要使用`HttpSession`,可以在页面的顶部声明不需要使用会话: ```xml ``` - 如果不再需要某个`HttpSession`,应立即调用`invalidate()`方法来释放资源。 - 合理设置`HttpSession`的超时...

    Zend Framework 1.7.6 手册中文版

    ### Zend Framework 1.7.6 手册中文版知识点概览 #### 1. Zend Framework简介 ...这些知识点覆盖了框架的基础概念、安装方法、各个主要组件的功能及使用方法,为开发者提供了全面深入的理解和实际操作指南。

    jsp常见问题

    在Web开发中,有时我们需要在同一个页面中结合使用不同的技术,比如JSP和Server Side Includes (SSI)。这两种技术都有它们各自的优势,例如SSI适用于静态内容的包含,而JSP则更擅长动态内容的处理。 - **如何在JSP...

    java 缓存机制

    Java 缓存机制是提高应用程序性能的关键技术之一,它允许程序将经常访问的数据存储在内存中,以便快速访问,减少对硬盘或数据库的依赖。在Java中,缓存机制可以分为多种实现方式,包括基于注解的声明式缓存和对Cache...

    zend framework 中文手册PDF

    - **使用声明(Assert)来编写条件性的ACL规则**:通过自定义的断言(asserts)可以实现更为复杂的访问控制逻辑。 #### 三、Zend_Auth 身份验证 - **简介**:Zend_Auth 提供了一种统一的方式来进行用户的身份验证,...

    WebView使用解析(一)之基本用法

    本文将深入探讨WebView的基本用法,包括它的初始化、加载网页、与JavaScript交互以及处理网络请求等方面。 1. **WebView的初始化** 在Android布局文件中,我们可以通过XML来声明一个WebView,例如: ```xml ...

    html的经典用法25

    13. **颜色和背景**:`&lt;font&gt;`标签(过时,不推荐使用)或CSS来设定文本颜色,`&lt;body&gt;`的`bgcolor`属性可设置页面背景色。 14. **样式表**:`&lt;style&gt;`标签在`&lt;head&gt;`中定义内部样式,`&lt;link&gt;`标签引入外部样式表...

    AspNetPager帮助文档

    本帮助文档详细介绍了AspNetPager的使用方法和特性,旨在帮助开发者更高效地在项目中集成和应用这个控件。 一、AspNetPager概述 AspNetPager是由WickedCodeSoftware开发的一款高效、易用的ASP.NET分页控件,支持...

    .NET130面试题

    - **原理**: 终止当前页面并开始执行新页面,但新页面继续使用当前页面创建的应答流。 - **优缺点**: 可以保持用户的上下文信息,但不适合跨域场景。 **4. 使用 ViewState** - **原理**: 将页面的状态信息编码成...

    chrome缓存清除扩展程序,通过js清除chrome缓存的api演示

    Chrome浏览器作为一个广泛使用的网络浏览工具,其缓存机制在日常使用中起着至关重要的作用。缓存能够存储网页的静态资源,如图片、CSS样式表和JavaScript文件,以提高页面加载速度,提升用户体验。然而,有时为了...

    meta标签如何使用?.docx

    《全面解析:Meta标签的使用方法》 Meta标签在网页设计中扮演着至关重要的角色,它为搜索引擎优化(SEO)提供了关键信息,并控制了浏览器如何处理网页内容。本文将深入探讨Meta标签的两种主要属性——name属性和...

Global site tag (gtag.js) - Google Analytics