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

相关文章

使用Spring Cache本地缓存示例代码

《使用SpringCache本地缓存示例代码》缓存是提高应用程序性能的重要手段,通过将频繁访问的数据存储在内存中,可以减少数据库访问次数,从而加速数据读取,:本文主要介绍使用SpringCac... 目录一、Spring Cache简介核心特点:二、基础配置1. 添加依赖2. 启用缓存3. 缓存配置方案方案

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

redis和redission分布式锁原理及区别说明

《redis和redission分布式锁原理及区别说明》文章对比了synchronized、乐观锁、Redis分布式锁及Redission锁的原理与区别,指出在集群环境下synchronized失效,... 目录Redis和redission分布式锁原理及区别1、有的同伴想到了synchronized关键字

MySQL 临时表创建与使用详细说明

《MySQL临时表创建与使用详细说明》MySQL临时表是存储在内存或磁盘的临时数据表,会话结束时自动销毁,适合存储中间计算结果或临时数据集,其名称以#开头(如#TempTable),本文给大家介绍M... 目录mysql 临时表详细说明1.定义2.核心特性3.创建与使用4.典型应用场景5.生命周期管理6.注

Java中数组与栈和堆之间的关系说明

《Java中数组与栈和堆之间的关系说明》文章讲解了Java数组的初始化方式、内存存储机制、引用传递特性及遍历、排序、拷贝技巧,强调引用数据类型方法调用时形参可能修改实参,但需注意引用指向单一对象的特性... 目录Java中数组与栈和堆的关系遍历数组接下来是一些编程小技巧总结Java中数组与栈和堆的关系关于

mybatis-plus QueryWrapper中or,and的使用及说明

《mybatis-plusQueryWrapper中or,and的使用及说明》使用MyBatisPlusQueryWrapper时,因同时添加角色权限固定条件和多字段模糊查询导致数据异常展示,排查发... 目录QueryWrapper中or,and使用列表中还要同时模糊查询多个字段经过排查这就导致只要whe

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

JAVA覆盖和重写的区别及说明

《JAVA覆盖和重写的区别及说明》非静态方法的覆盖即重写,具有多态性;静态方法无法被覆盖,但可被重写(仅通过类名调用),二者区别在于绑定时机与引用类型关联性... 目录Java覆盖和重写的区别经常听到两种话认真读完上面两份代码JAVA覆盖和重写的区别经常听到两种话1.覆盖=重写。2.静态方法可andro

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以