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>

相关文章
|
5月前
|
安全 Java 数据库
Spring boot 入门教程-Oauth2,java面试基础题核心
Spring boot 入门教程-Oauth2,java面试基础题核心
|
5月前
|
Java API
【JAVA进阶篇教学】第三篇:JDK8中Stream API使用
【JAVA进阶篇教学】第三篇:JDK8中Stream API使用
|
5月前
|
存储 Java API
[读书笔记]Spring中对JSR310日期时间API的支持
[读书笔记]Spring中对JSR310日期时间API的支持
68 1
|
监控 Java API
“JSR303和拦截器在Java Web开发中的应用与实践“
“JSR303和拦截器在Java Web开发中的应用与实践“
42 0
|
Java Maven 容器
Spring Framework 源码学习笔记(五)(下)
Spring Framework 源码学习笔记(五)
Spring Framework 源码学习笔记(五)(下)
|
Java Spring 容器
Spring Framework 源码学习笔记(五)(上)
Spring Framework 源码学习笔记(五)
Spring Framework 源码学习笔记(五)(上)
|
Java 容器 Spring
Spring Framework 源码学习笔记(二)(上)
Spring Framework 源码学习笔记(二)
Spring Framework 源码学习笔记(二)(上)
|
Java 容器 Spring
Spring Framework 源码学习笔记(二)(下)
Spring Framework 源码学习笔记(二)
Spring Framework 源码学习笔记(二)(下)
|
XML Java 数据格式
Spring Framework 源码学习笔记(一)(下)
Spring Framework 源码学习笔记(一)
Spring Framework 源码学习笔记(一)(下)
|
Java API 容器
Java API入门篇2
Java API入门篇2
Java API入门篇2