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"提供了一个高效的方法,使得Chrome用户能够轻松管理浏览器的缓存,提升浏览体验并解决可能出现的问题。对于经常需要处理浏览器缓存的用户来说,这是一款非常实用的工具。
接下来,需要配置Spring Cache,指定使用Redis作为缓存 provider,并定义缓存的名称、过期策略等。可以通过`@Cacheable`、`@CacheEvict`、`@CachePut`等注解在业务逻辑中声明缓存行为。 在MyBatis Plus中,可以...
// 省略构造函数和测试方法声明 public void testCache1() { Session session = HibernateUtils.getSession(); session.beginTransaction(); Student student = (Student) session.load(Student.class, 1); ...
在同一个页面中,可以多次使用`cache`标签,但如果没有指定`key`属性,系统会自动根据页面URI和请求字符串生成一个独特的key,但这样做可能引发冲突,因此推荐明确指定`key`。 通过上述方式,OSCache允许开发者灵活...
- **缓存页面部分**: 如果只想缓存页面的一部分,可以使用`<%@ cache %>`JSP指令或`<c:cache>`标签库,指定缓存的区域和key。 4. **分布式缓存配置** - Ehcache支持分布式缓存,允许在多台服务器之间共享缓存。这...
在Android应用开发中,创建一个“关于”页面通常涉及到显示应用的版本信息、开发者信息、版权声明等。传统的做法是使用TextView进行布局堆砌,但这种方法维护起来繁琐且不易于动态更新。本文将介绍如何利用HTML和...
这篇文章将深入探讨`header()`函数的使用方法以及需要注意的事项。 首先,`header()`函数的基本语法如下: ```php void header ( string $string [, bool $replace = true [, int $http_response_code ]] ) ``` ...
例如,当我们使用$.ajax()方法时,可以设置`cache: true/false`来决定是否允许缓存响应数据。如果希望禁用缓存,可以在URL末尾添加一个时间戳参数,以确保每次请求都是新鲜的。 接下来,我们来讨论中文处理。在处理...
Ehcache 是一款广泛使用的开源Java缓存解决方案,它可以用于存储页面、对象和数据,以提升应用程序的性能和响应速度。Ehcache 提供了内存和磁盘存储的支持,并且包含多种淘汰策略,如LRU(Least Recently Used)、...
- 明确指出哪些页面不需要使用`HttpSession`,可以在页面的顶部声明不需要使用会话: ```xml ``` - 如果不再需要某个`HttpSession`,应立即调用`invalidate()`方法来释放资源。 - 合理设置`HttpSession`的超时...
### Zend Framework 1.7.6 手册中文版知识点概览 #### 1. Zend Framework简介 ...这些知识点覆盖了框架的基础概念、安装方法、各个主要组件的功能及使用方法,为开发者提供了全面深入的理解和实际操作指南。
在Web开发中,有时我们需要在同一个页面中结合使用不同的技术,比如JSP和Server Side Includes (SSI)。这两种技术都有它们各自的优势,例如SSI适用于静态内容的包含,而JSP则更擅长动态内容的处理。 - **如何在JSP...
Java 缓存机制是提高应用程序性能的关键技术之一,它允许程序将经常访问的数据存储在内存中,以便快速访问,减少对硬盘或数据库的依赖。在Java中,缓存机制可以分为多种实现方式,包括基于注解的声明式缓存和对Cache...
- **使用声明(Assert)来编写条件性的ACL规则**:通过自定义的断言(asserts)可以实现更为复杂的访问控制逻辑。 #### 三、Zend_Auth 身份验证 - **简介**:Zend_Auth 提供了一种统一的方式来进行用户的身份验证,...
本文将深入探讨WebView的基本用法,包括它的初始化、加载网页、与JavaScript交互以及处理网络请求等方面。 1. **WebView的初始化** 在Android布局文件中,我们可以通过XML来声明一个WebView,例如: ```xml ...
13. **颜色和背景**:`<font>`标签(过时,不推荐使用)或CSS来设定文本颜色,`<body>`的`bgcolor`属性可设置页面背景色。 14. **样式表**:`<style>`标签在`<head>`中定义内部样式,`<link>`标签引入外部样式表...
本帮助文档详细介绍了AspNetPager的使用方法和特性,旨在帮助开发者更高效地在项目中集成和应用这个控件。 一、AspNetPager概述 AspNetPager是由WickedCodeSoftware开发的一款高效、易用的ASP.NET分页控件,支持...
- **原理**: 终止当前页面并开始执行新页面,但新页面继续使用当前页面创建的应答流。 - **优缺点**: 可以保持用户的上下文信息,但不适合跨域场景。 **4. 使用 ViewState** - **原理**: 将页面的状态信息编码成...
Chrome浏览器作为一个广泛使用的网络浏览工具,其缓存机制在日常使用中起着至关重要的作用。缓存能够存储网页的静态资源,如图片、CSS样式表和JavaScript文件,以提高页面加载速度,提升用户体验。然而,有时为了...
《全面解析:Meta标签的使用方法》 Meta标签在网页设计中扮演着至关重要的角色,它为搜索引擎优化(SEO)提供了关键信息,并控制了浏览器如何处理网页内容。本文将深入探讨Meta标签的两种主要属性——name属性和...