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

简介: 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?spm=a2c6h.21254954.0.0.4e905907uoWZzr

图谱名称:Alibaba Java 技术图谱

图谱地址:https://developer.aliyun.com/graph/java?spm=a2c6h.21110250.J_5703890090.6.700e3c67EjOBeJ


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


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

1、Spring Data Redis6.0 

image.png 

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

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

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

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

1. 支持多种Redis驱动程序/连接器的低级抽象(Jedis和Lettuce。JRedis和SRP过期)  

2. Spring Data Access exception和Redis driver exceptions转换  

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

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

MessageListenerContainer)  

5. 支持Redis Sentinel和Redis Cluster集群模式  

6. JDK,String,JSON和Spring Object / XML映射序列化器  

7. 基于Redis的JDK Collection实现  

8. Atomic counter原子计数器  

9. Sorting and Pipelining功能  

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

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

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

13.支持存储库的CDI 

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

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

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

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

3、Redis API  

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

4、RedisConnection解析  

1. RedisConnection为Redis通信提供核心组件  

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

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

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

5. 操作语义保持不变。  

6. 统一接口  

7. 工厂模式  

8. 仓储模式 

 

(二)Spring Data for Redis架构 

1、Java Spring Data for Redis架构 

image.png 

2、RedisTemplate 

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  

1、Linux安装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" 

2、Linux启动Redis Server 

image.png 

Redis Reactive Driver 

image.png 

 

image.png 

image.png 

image.png 

如上图所示,与MangoDB、MySQL差不多,加了一个控制器,里面实际放的一个是新增,一个是查询,查询调的是redis仓储类型,里面依赖注入,接口是自定义的一些方法,实现加了redisTemplate类型,用这个模板类型做redis对象操作,主要做基础的增删改查,基本操作用较新的默认版本通过依赖加了jedis,Spring Boot2.5以后会自动版本兼容,自动拉数据有page,Redis对应的一些参数可以从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先装,启动后配置网络和安全模式,必须远程链接客户端才能够进行链接操作。 

相关文章
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
8983 136
|
前端开发 Java API
利用 Spring WebFlux 技术打造高效非阻塞 API 的完整开发方案与实践技巧
本文介绍了如何使用Spring WebFlux构建高效、可扩展的非阻塞API,涵盖响应式编程核心概念、技术方案设计及具体实现示例,适用于高并发场景下的API开发。
857 0
|
安全 前端开发 Java
《深入理解Spring》:现代Java开发的核心框架
Spring自2003年诞生以来,已成为Java企业级开发的基石,凭借IoC、AOP、声明式编程等核心特性,极大简化了开发复杂度。本系列将深入解析Spring框架核心原理及Spring Boot、Cloud、Security等生态组件,助力开发者构建高效、可扩展的应用体系。(238字)
|
人工智能 Java 数据库
飞算 JavaAI:革新电商订单系统 Spring Boot 微服务开发
在电商订单系统开发中,传统方式耗时约30天,需应对复杂代码、调试与测试。飞算JavaAI作为一款AI代码生成工具,专注于简化Spring Boot微服务开发。它能根据业务需求自动生成RESTful API、数据库交互及事务管理代码,将开发时间缩短至1小时,效率提升80%。通过减少样板代码编写,提供规范且准确的代码,飞算JavaAI显著降低了开发成本,为软件开发带来革新动力。
|
前端开发 Java UED
从基础到进阶:Spring Boot + Thymeleaf 整合开发中的常见坑与界面优化
本文深入探讨了 **Spring Boot + Thymeleaf** 开发中常见的参数绑定问题与界面优化技巧。从基础的 Spring MVC 请求参数绑定机制出发,分析了 `MissingServletRequestParameterException` 的成因及解决方法,例如确保前后端参数名、类型一致,正确设置请求方式(GET/POST)。同时,通过实际案例展示了如何优化支付页面的视觉效果,借助简单的 CSS 样式提升用户体验。最后,提供了官方文档等学习资源,帮助开发者更高效地掌握相关技能。无论是初学者还是进阶用户,都能从中受益,轻松应对项目开发中的挑战。
869 0
|
安全 数据可视化 Java
AiPy开发的 Spring 漏洞检测神器,未授权访问无所遁形
针对Spring站点未授权访问问题,现有工具难以检测如Swagger、Actuator等组件漏洞,且缺乏修复建议。全新AI工具基于Aipy开发,具备图形界面,支持一键扫描常见Spring组件,自动识别未授权访问风险,按漏洞类型标注并提供修复方案,扫描结果可视化展示,支持导出报告,大幅提升渗透测试与漏洞定位效率。
|
Java API 网络架构
基于 Spring Boot 框架开发 REST API 接口实践指南
本文详解基于Spring Boot 3.x构建REST API的完整开发流程,涵盖环境搭建、领域建模、响应式编程、安全控制、容器化部署及性能优化等关键环节,助力开发者打造高效稳定的后端服务。
1650 1
|
缓存 Java API
Spring WebFlux 2025 实操指南详解高性能非阻塞 API 开发全流程核心技巧
本指南基于Spring WebFlux 2025最新技术栈,详解如何构建高性能非阻塞API。涵盖环境搭建、响应式数据访问、注解与函数式两种API开发模式、响应式客户端使用、测试方法及性能优化技巧,助你掌握Spring WebFlux全流程开发核心实践。
1810 0