cache的一点点说明

2024-03-07 08:38
文章标签 说明 cache 一点点

本文主要是介绍cache的一点点说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用Cache,存储变量

使用Cache,不但可以缓存网页,提高浏览速度,还可以缓存任何对象和数据,像Application那样。
Session可以存储对象,但是必须使用Session,但是对于Sesion,并不是任何情况下都是需要的;
Application可以存储对象,但是生存周期太长,从而决定了不可以存储对象太多;
所以有了Cache,它可以不涉及使用Session,又有自己的生存周期,可以比起Application来,相对大量的使用。

通过使用权限和生存周期,可以控制Cache的有效使用。
权限高的Cache对象,比权限低的对象,会被Cache清理机制更加晚的被清理,
同样,生存周期长的Cache对象,比生存周期短的,会晚一些被清理。

可以这样使用Cache存储对象:
Cache("name")="pierce";
但是这样无法使用Cache的高级功能,如生存周期,权限和对立性。
可以使用Cache.Add()或者Cache.Insert() 获取高级功能的使用。
Cache.Insert("name","pierce",null,DateTime.Now.AddMinutes(30),TimeSpan.Zero);

在Cache中存储对象时使用独立的规则:
Cache.Insert("name","pierce",new CacheDependency(Server.Map("/file.txt")),
      DateTime.Now.AddMinutes(30),TimeSpan.Zero);
Cache中的name对象,有了一个独立的文件file.txt与之对应,如果file.txt更新或者移动,那么name对象就会失效。

Cache对象的生存周期,分2种,绝对生存周期absoluteExpiration和动态生存周期slidingExpiration。
absoluteExpiration:Cache对象的生存周期为定义的时间,从定义到结束,时间既是所定义的时间:
Cache.Insert("name","pierce",null,DateTime.Now.AddMinutes(15),TimeSpan.Zero);
name对象的生存周期为15分钟。

slidingExpiration:Cache对象的生存时间为最后一次使用的时间+定义的时间:
Cache.Insert("name","pierce",null,System.Web.Caching.Cache.NoAbsoluteExpiration,TimeSpan.FromMinutes(15));

设置权限:
Cache.Insert("name","pierce",null,System.Web.Caching.Cache.NotAbsoluteExpiration,,TimeSpan.FromMinutes(15),
  CacheItemPriority.Hith,CacheItemPriorityDecay.Never,null);

这篇关于cache的一点点说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/782945

相关文章

Before和BeforeClass的区别及说明

《Before和BeforeClass的区别及说明》:本文主要介绍Before和BeforeClass的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Before和BeforeClass的区别一个简单的例子当运行这个测试类时总结Before和Befor

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

Spring中管理bean对象的方式(专业级说明)

《Spring中管理bean对象的方式(专业级说明)》在Spring框架中,Bean的管理是核心功能,主要通过IoC(控制反转)容器实现,下面给大家介绍Spring中管理bean对象的方式,感兴趣的朋... 目录1.Bean的声明与注册1.1 基于XML配置1.2 基于注解(主流方式)1.3 基于Java

Spring Cache注解@Cacheable的九个属性详解

《SpringCache注解@Cacheable的九个属性详解》在@Cacheable注解的使用中,共有9个属性供我们来使用,这9个属性分别是:value、cacheNames、key、key... 目录1.value/cacheNames 属性2.key属性3.keyGeneratjavascriptor

idea报错java: 非法字符: ‘\ufeff‘的解决步骤以及说明

《idea报错java:非法字符:‘ufeff‘的解决步骤以及说明》:本文主要介绍idea报错java:非法字符:ufeff的解决步骤以及说明,文章详细解释了为什么在Java中会出现uf... 目录BOM是什么?1. BOM的作用2. 为什么会出现 \ufeff 错误?3. 如何解决 \ufeff 问题?最

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A

MyBatis的配置对象Configuration作用及说明

《MyBatis的配置对象Configuration作用及说明》MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对... 目录MyBATis配置对象Configuration作用Configuration 对象的主要作用C