阿里云
为了无法计算的价值
打开APP
阿里云APP内打开
学习中心> SpringBoot快速掌握 - 高级应用> 正文

SpringBoot快速掌握 - 高级应用

41课时 |
3191人已学 |
免费
课程介绍

SpringBoot是企业级开发的整体整合解决方案,特别用于快速构建微服务应用,旨在用最简单的方式让开发人员适应各种开发场景。

SpringBoot课程分为两部分:

  • 第1部分《SpringBoot核心技术》https://developer.aliyun.com/learning/course/612
  • 本课程属于高级应用部分,着重介绍SpringBoot的与各大场景的整合使用,内容包括:缓存(整合Redis),消息中间件(整合RabbitMQ),检索(整合ElasticSearch),任务(异步任务,定时任务,邮件任务),安全(整合SpringSecurity),分布式(整合Zookeeper/dubbo,整合SpringCloud),SpringBoot应用监管。

 

相关的阿里云产品:企业级分布式应用服务 EDAS

企业级分布式应用服务 EDAS(Enterprise Distributed Application Service)是一个应用托管和微服务管理的 PaaS 平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持 Spring Cloud、Apache Dubbo(以下简称 Dubbo )等微服务运行环境,助力您的各类应用轻松上云。

了解产品详情: https://www.aliyun.com/product/edas 

JSR 107简介

 

内容概要

一,缓存

二,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 设置。

 

cant manager跟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>

 

 

 

我的学习进度
请登录后查看您的学习进度!
立即登录
本课程相关云产品