JSR107 简介|学习笔记

简介: 快速学习 JSR107 简介

开发者学堂课程【SpringBoot 快速掌握 - 高级应用:JSR107 简介】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/613/detail/9286


JSR107 简介

内容概要

一,缓存

二,CachingProvider

三,CacheManager

四,Cache

五,Entry

六,Expiry

七,JSR-107 使用代码


一、缓存

缓存是每一个系统都应该考虑的一个功能,它用来加速系统的访问,以及提升系统的性能。

比如有一些需要经常访问的高频热点数据,例如某一个电商网站的商品信息的商品信息,存在数据库中,如果说每次来查询商品信息都要来查询数据库的话,那么这样的操作耗时太大了,代价太大。可以引入一个缓存中间件。

把这些商品日期也放在缓存中,这样不需要直接来查数据库了,直接来查询缓存,如果说缓存中有,那就直接来用缓存中没有来考虑查询数据库,数据库查到了,可以把这个数据再放到缓存中,方便后来继续使用。有了缓存以后,提升很高的性能,因为这个应用程序跟缓存的交互是非常快的。

再比如一些临时性的数据来,给某一个用户的手机号,发送了一个验证码,这个验证码三分钟内有效用完就需要删除。如果把这些信息也存在数据库里边儿,那数据库的负担也是有点大,那么性能也是很低的,那么把这临时性的数据也可以放在缓存中,系统就从缓存中来存取这些临时性的数据。

缓存在我们后来的系统中用的非常多。为了统一这个缓存的开发规范,以及提升我们系统的扩展性.


二,CachingProvider

定义了创建、配置、获取、管理和控制多个 CacheManager。-个应用可以在运行期访问多个 CachingProvider。


三、CacheManager

定义了创建、配置、获取、管理和控制多个唯一命名的 Cache, 这些 Cache 存在于 CacheManager 的上下文中。

一个 CacheManager 仅被一个 CachingProvider 所拥有。


四、Cache

是一个类似 Map 的数据结构并临时存储以 Key 为索引的值。一

个 Cache 仅被一个 CacheManager 所拥有。


五,Entry

是一个存储在 Cache 中的 key-value 对。


六,、Expiry

每一个存储在 Cache 中的条目有一个定义的有效期。一-旦超过这 个时间,条目为过期的状态。

一旦过期, 条目将不可访问、更新和删除。缓存有效期可以通过 ExpiryPolicy 设置。

image.png

cant manage r跟 catch 就类似于这个数据库连接池,跟这个连接一样,从连接池中获取连接,真正操作,从缓存这个管理器中获取到缓存进行正常操作。

使用 JSR-107,需要导入 Java X kat,需要导入这个包。在这个包里面,可以看一下这几个接口,比如第一个 cant provide,在里边堪称 provide content provider,它的核心就是来能帮来获取看什么,得到 country manager 以后,Manager 的核心就是能帮这个 API 来创建某一个缓存组件,或者直接获取到某一个缓存组件的里边来保存,而从开始 manager 里边拿到这个缓存组件以后,缓存的增删改查操作就在这个缓存组件里面定义着.


七、使用 JSR-107的代码

<dependency>

<groupId> avax.cache</groupId>  

<artifactl d>cache-api</artifactI d>  

</dependency>

相关文章
|
7月前
|
Java 编译器 测试技术
Java基础16-Java注解简介和最佳实践(二)
Java基础16-Java注解简介和最佳实践(二)
51 4
|
2月前
|
Java 编译器
Java进阶之标准注解
Java进阶之标准注解
49 0
|
4月前
|
安全 Java API
Java 18 概述:新特性一览
Java 18 作为 Java 平台的最新版本,引入了多项令人振奋的新特性和改进,包括模式匹配、记录类型、流库改进、外部函数与内存 API 以及并发处理增强。这些新功能不仅提升了开发者的生产力,还显著增强了 Java 的性能和安全性。本文将详细介绍 Java 18 的主要新特性,并通过代码示例帮助读者更好地理解和应用这些功能。
|
7月前
|
安全 Java 开发者
Java基础16-Java注解简介和最佳实践(一)
Java基础16-Java注解简介和最佳实践(一)
69 5
|
8月前
|
安全 Java 数据库
Spring boot 入门教程-Oauth2,java面试基础题核心
Spring boot 入门教程-Oauth2,java面试基础题核心
|
8月前
|
JSON 前端开发 Java
【JAVA进阶篇教学】第七篇:Spring中常用注解
【JAVA进阶篇教学】第七篇:Spring中常用注解
|
8月前
|
存储 Java API
[读书笔记]Spring中对JSR310日期时间API的支持
[读书笔记]Spring中对JSR310日期时间API的支持
84 1
|
Java Maven 容器
Spring Framework 源码学习笔记(五)(下)
Spring Framework 源码学习笔记(五)
Spring Framework 源码学习笔记(五)(下)
|
Java Spring 容器
Spring Framework 源码学习笔记(五)(上)
Spring Framework 源码学习笔记(五)
Spring Framework 源码学习笔记(五)(上)
|
Java 容器 Spring
Spring Framework 源码学习笔记(二)(上)
Spring Framework 源码学习笔记(二)
Spring Framework 源码学习笔记(二)(上)

相关实验场景

更多