开发者学堂课程干货总结——Spring Boot 2.5.x开发实战(六)

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: Spring Boot 2.5.x开发实战课时6——Spring Boot 2.5实战Redis分布式缓存6.0 ,Spring Boot 2.5.x开发实战是学习Java Spring Cloud微服务架构的必经之路。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦

哈喽各位同学们大家好呀,今天小编为大家分享开发者学院中课程Spring Boot 2.5实战Redis分布式缓存6.0 ”干货总结哦~Spring Boot 2.5.x开发实战可Java中级工程师必备课程!

课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳👇

课程名称:Spring Boot 2.5.x开发实战

课程地址:https://developer.aliyun.com/learning/course/71

图谱名称:Alibaba Java 技术图谱

图谱地址:https://developer.aliyun.com/graph/java


Spring Boot 2.5实战Redis分布式缓存6.0


)Spring Boot 2.5.x战分布式缓存Redis 6.0  

1Spring Data Redis6.0 

image.png 

Spring boot项目集成非常重要的缓存技术,头部新兴的互联网公司,大量使用开源缓存非常普遍本身Redis免费功能特性越来越完善,无论在基础功能使用还是丰富的数据类型高级功能主从集群模式高可用集群以及分辨集群等方面的知识都非常好,现在也在扩展消息推送以及分布式事务等新的特性知识 

Redis整个生态相对来说比较完善,无论是Java语言还是其他编程语言,另外比较重要的Java驱动工具驱动库Redis的链接池,使用的是比较有名的Java社群Jedis 

Spring Boot为后续的Java应用开发作铺垫Spring data for Redis系列接做了抽象,本质上 JavaRedis有基础Redis的驱动,使用基础的网络链接Redis服务进行交互,Redis使用单机点模式生产环境一般使用主重高可用或面集群模式,可以加设一台虚拟机安装完成。Java链接远程RedisRedis服务器端要允许远程端口链接,生产环境下安全验证 

2Java Spring Data 2.x for Redis新特性 

1. 支持多种Redis驱动程序/连接器的低级抽象(JedisLettuceJRedisSRP期)  

2. Spring Data Access exceptionRedis driver exceptions转换  

3. RedisTemplate高级抽象封装Redis操作,异常转换和序列化工作  

4. Pubsub发布订阅模式支持(例如消息驱动POJO 

MessageListenerContainer  

5. 支持Redis SentinelRedis Cluster集群模式  

6. JDKStringJSONSpring Object / XML映射序列化器  

7. 基于RedisJDK Collection实现  

8. Atomic counter原子计数器  

9. Sorting and Pipelining功能  

10.专门API支持SORTSORT / GET模式和返回批量值数据  

11.Redis实现了Spring 3.1缓存抽象  

12.自动实现Repository接口,@EnableRedisRepositories支持自定义查找方法  

13.支持存储库的CDI 

Redis本身也在不断迭代功能越来越完善Java Spring boot连接使用Spring Data  for RedisRedis整个配置构建可以在替换基础的链接池,可以用JedisLettuce 

Redis本身有单点也有集群模式,配置文件注意配置参数的修改,整个Redis特性Java原理使用要考虑链接库的版本能支持这些操作 

Java一定要用Java8或者Jdk1.8版本,Lettuce也是5.0以后的版本后面采用这个默认的集成模式。 

过程中还比较有意思,实际Redis链接工厂,Factory是属于工厂模式造链接词链接,每次创建Redis链接的时候,可以专门通过工厂类型的来进行创建,然后进行使用另外可以通过配置Redis客户端工厂添加必要配置 

3Redis API  

基础核心org.springframework.data.redis.core,里面包含两个重要类型,一Redis ConnectionRedis Connection Factory Interfac, Redis链接对象需要指定Redis 链接工厂,不同的链接重构了Redis的链接工厂,接受的参数大部分一样如主机数据库密码重要参数都可控同时也有默认策略,与链接MySQL的链接池 

4RedisConnection解析  

1. RedisConnectionRedis通信提供核心组件  

2. 处理与Redis服务器后端的通信 

3. 自动将底层连接异常转换为Spring DAO异常  

4. 可以在不更改任何代码的情况下切换连接器 

5. 操作语义保持不变。  

6. 统一接口  

7. 工厂模式  

8. 仓储模式 

 

()Spring Data for Redis架构 

1Java Spring Data for Redis架构 

image.png 

2RedisTemplate 

Interface            Description  

GeoOperations         Redis geospatial操作, 例如GEOADD,GEORADIUS,  

HashOperations        Redis hash操作 

HyperLogLogOperations Redis HyperLogLog操作,例如PFADD, PFCOUNT, 

ListOperations       Redis list操作 SetOperations Redis set操作 

ValueOperations      Redis string (or value)操作 

ZSetOperations       Redis zset (or sorted set)操作 

 

(三)Linux Install Redis  

1Linux安装Redis 6.2  

1.下载安装  

$ wget https://download.redis.io/releases/redis-6.2.1.tar.gz  

$ tar xzf redis-6.2.1.tar.gz  

$ cd redis-6.2.1  

$ make  

2.启动服务器  

$ src/redis-server  

3.启动命令客户端  

$ src/redis-cli  

4.新增查询Key value  

redis> set 1 java  

OK  

redis> get 1  

•“java" 

2Linux启动Redis Server 

image.png 

Redis Reactive Driver 

image.png 

 

image.png 

image.png 

image.png 

如上图所示MangoDBMySQL差不多,加了一个控制器里面实际放的一个是新增,一个是查询查询调的是redis仓储类型,里面赖注入,接口是自定义的一些方法,实现加了redisTemplate类型,用这个模板类型redis对象操作,主要做基础的增删改查基本操作用较新的默认版本通过依赖加了jedisSpring Boot2.5以后会自动版本兼容自动数据pageRedis对应的一些参数可以从page文件里进行数据读取,也可以写死 bean的构造方法可以指定传主机名传端口这两个参数通过value注解的方式配置文件自动加载完成 

image.png 

image.png 

image.png 

如上图所示,启动完以后要验证整个项目6.0.8版本,属于单点独立模式启动只有一个节点是为了方便调整,如果做远程链接, Ip保护模式限制要解除,需要修改IP如果不喜欢用命令行可以用可视化工具 

image.png 

如上图所示测试 Ad user保存多少,调用接口,保存100个用户,代码控制器跟之前差不多get by ID  add user for循环构造100个用户,插入 list,后面get ALL实际调 repository的仓储对象做查询操作 

注意第一步Activities先启动后配置网络和安全模式,必须远程链接客户端才能够进行链接操作 

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6月前
|
XML Java 测试技术
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
这篇文章介绍了Spring5框架的三个新特性:支持@Nullable注解以明确方法返回、参数和属性值可以为空;引入函数式风格的GenericApplicationContext进行对象注册和管理;以及如何整合JUnit5进行单元测试,同时讨论了JUnit4与JUnit5的整合方法,并提出了关于配置文件加载的疑问。
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
|
6月前
|
Java
Spring5入门到实战------9、AOP基本概念、底层原理、JDK动态代理实现
这篇文章是Spring5框架的实战教程,深入讲解了AOP的基本概念、如何利用动态代理实现AOP,特别是通过JDK动态代理机制在不修改源代码的情况下为业务逻辑添加新功能,降低代码耦合度,并通过具体代码示例演示了JDK动态代理的实现过程。
Spring5入门到实战------9、AOP基本概念、底层原理、JDK动态代理实现
|
4月前
|
自然语言处理 Java API
Spring Boot 接入大模型实战:通义千问赋能智能应用快速构建
【10月更文挑战第23天】在人工智能(AI)技术飞速发展的今天,大模型如通义千问(阿里云推出的生成式对话引擎)等已成为推动智能应用创新的重要力量。然而,对于许多开发者而言,如何高效、便捷地接入这些大模型并构建出功能丰富的智能应用仍是一个挑战。
689 6
|
4月前
|
缓存 NoSQL Java
Spring Boot与Redis:整合与实战
【10月更文挑战第15天】本文介绍了如何在Spring Boot项目中整合Redis,通过一个电商商品推荐系统的案例,详细展示了从添加依赖、配置连接信息到创建配置类的具体步骤。实战部分演示了如何利用Redis缓存提高系统响应速度,减少数据库访问压力,从而提升用户体验。
239 2
|
4月前
|
Java 数据库连接 Spring
【2021Spring编程实战笔记】Spring开发分享~(下)
【2021Spring编程实战笔记】Spring开发分享~(下)
43 1
|
4月前
|
XML Java 数据格式
Spring IOC容器的深度解析及实战应用
【10月更文挑战第14天】在软件工程中,随着系统规模的扩大,对象间的依赖关系变得越来越复杂,这导致了系统的高耦合度,增加了开发和维护的难度。为解决这一问题,Michael Mattson在1996年提出了IOC(Inversion of Control,控制反转)理论,旨在降低对象间的耦合度,提高系统的灵活性和可维护性。Spring框架正是基于这一理论,通过IOC容器实现了对象间的依赖注入和生命周期管理。
105 0
|
6月前
|
NoSQL Java Redis
Redis6入门到实战------ 八、Redis与Spring Boot整合
这篇文章详细介绍了如何在Spring Boot项目中整合Redis,包括在`pom.xml`中添加依赖、配置`application.properties`文件、创建配置类以及编写测试类来验证Redis的连接和基本操作。
Redis6入门到实战------ 八、Redis与Spring Boot整合
|
4月前
|
XML Java 数据库连接
【2020Spring编程实战笔记】Spring开发分享~(上)
【2020Spring编程实战笔记】Spring开发分享~
68 0
|
6月前
|
SQL 数据库
Spring5入门到实战------13、使用JdbcTemplate操作数据库(批量增删改)。具体代码+讲解 【下篇】
这篇文章是Spring5框架的实战教程,深入讲解了如何使用JdbcTemplate进行数据库的批量操作,包括批量添加、批量修改和批量删除的具体代码实现和测试过程,并通过完整的项目案例展示了如何在实际开发中应用这些技术。
Spring5入门到实战------13、使用JdbcTemplate操作数据库(批量增删改)。具体代码+讲解 【下篇】
|
6月前
|
XML Java 数据格式
Spring5入门到实战------11、使用XML方式实现AOP切面编程。具体代码+讲解
这篇文章是Spring5框架的AOP切面编程教程,通过XML配置方式,详细讲解了如何创建被增强类和增强类,如何在Spring配置文件中定义切入点和切面,以及如何将增强逻辑应用到具体方法上。文章通过具体的代码示例和测试结果,展示了使用XML配置实现AOP的过程,并强调了虽然注解开发更为便捷,但掌握XML配置也是非常重要的。
Spring5入门到实战------11、使用XML方式实现AOP切面编程。具体代码+讲解