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>

相关文章
|
存储 JavaScript 数据可视化
vue3+echarts应用——深度遍历html的dom结构并用树图进行可视化
vue3+echarts应用——深度遍历html的dom结构并用树图进行可视化
386 1
|
API 缓存 人工智能
深入调查研究GraphQL
【11月更文挑战第19天】
253 5
|
分布式计算 DataWorks 调度
阿里云DataWorks-部署自定义python项目问题
阿里云DataWorks-多种方式部署自定义python项目并进行调度
|
存储 分布式计算 资源调度
Spark性能优化之SparkUI
Spark性能优化之SparkUI
415 0
|
机器学习/深度学习 JSON 人工智能
IntelliJ IDEA中的神仙插件(写代码必备)(下)
IntelliJ IDEA中的神仙插件(写代码必备)(下)
945 0
IntelliJ IDEA中的神仙插件(写代码必备)(下)
|
机器学习/深度学习 搜索推荐 数据挖掘
【深度解析】超越RMSE和MSE:揭秘更多机器学习模型性能指标,助你成为数据分析高手!
【8月更文挑战第17天】本文探讨机器学习模型评估中的关键性能指标。从均方误差(MSE)和均方根误差(RMSE)入手,这两种指标对较大预测偏差敏感,适用于回归任务。通过示例代码展示如何计算这些指标及其它如平均绝对误差(MAE)和决定系数(R²)。此外,文章还介绍了分类任务中的准确率、精确率、召回率和F1分数,并通过实例说明这些指标的计算方法。最后,强调根据应用场景选择合适的性能指标的重要性。
1590 0
|
分布式计算 DataWorks NoSQL
DataWorks产品使用合集之怎么离线同步MongoDB的增量数据
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
IDEA 插件 Material Theme UI收费后 免费的办法
IDEA 插件 Material Theme UI收费后 免费的办法
1573 2
|
机器学习/深度学习 编解码 人工智能
一种基于YOLOv8改进的高精度表面缺陷检测网络, NEU-DET和GC10-DET涨点明显(原创自研)
【7月更文挑战第3天】一种基于YOLOv8改进的高精度表面缺陷检测, 在NEU-DET和GC10-DET任务中涨点明显;
639 1
|
缓存 监控 Java
Java一分钟之-JCache:JSR-107缓存标准
【6月更文挑战第17天】**JCache (JSR-107)** 是Java的缓存标准,提供统一接口用于集成缓存,支持配置过期策略、监听器、事务和不同缓存实现的切换。常见问题包括过度依赖缓存导致数据不一致、缓存雪崩和击穿。要避免这些问题,需确保回源机制、分散过期时间、使用锁和监控。示例展示了如何配置和使用JCache,强调了合理设计缓存的重要性。
340 1