Springboot(五十三)SpringBoot3整合redisson

前边我们有记录Springboot2/3整合redis的方式。是基于Springboot默认集成的Lettuce客户端实现的。

今天我们在项目中集成的redission是在Lettuce之上构建的redis客户端。

Redisson:一个在Jedis和Lettuce之上构建的Redis客户端。提供了一系列分布式Java对象和服务,比如:分布式锁、原子变量、计数器等。Redisson意在通过高层次的抽象使得开发者能够更容易地利用Redis提供的各种功能。

Redisson通过封装底层的Redis命令,使得在Java代码中操作分布式数据结构就像操作本地数据结构一样自然。如果你的应用程序需要分布式数据类型或者锁,Redisson可能是最佳选择。

Redisson提供的以下的主要功能:

分布式对象:

1)      分布式集合(Set、SortedSet、List)

2)      分布式映射(Map)

3)      分布式队列(Queue、Deque)

4)      分布式锁(Lock)

5)      分布式计数器(AtomicLong)

分布式限流:

1)      令牌桶算法(Rate Limiter)

2)      漏桶算法(Rate Limiter)

分布式发布订阅:

1)      发布订阅模式(Pub-Sub)

2)      消息监听器容器(Message Listener Container)

分布式锁和同步:

1)      可重入锁(ReentrantLock)

2)      公平锁(FairLock)

3)      联锁(MultiLock)

4)      红锁(RedLock)

5)      读写锁(ReadWriteLock)

6)      信号量(Semaphore)

7)      闭锁(CountDownLatch)

8)      栅栏(CyclicBarrier)

分布式服务和任务调度:

1)      远程服务(Remote Service)

2)      分布式任务调度器(Task Scheduler)

3)      分布式延迟队列(Delayed Queue)

分布式地理空间索引(Geospatial Index):

1)      地理位置存储

2)      地理位置搜索

分布式布隆过滤器(Bloom Filter)和可布隆过滤器(Bloom Filter)。

分布式缓存:

1)      对Redis进行本地缓存

2)      Spring缓存注解支持

分布式连接池:

1)      支持连接池管理和维护

Redis集群和哨兵支持:

1)      支持Redis集群模式

2)      支持Redis哨兵模式

3)      对于使用Redis集群部署的场景,Redisson可以自动识别和操作集群中的多个节点,保证数据的高可用性和扩展性。而对于使用Redis哨兵模式部署的场景,Redisson可以监控并切换到可用的主从节点,实现高可靠性和容错能力。

Spring集成:

1)      与Spring框架的无缝集成

2)      支持Spring缓存注解

功能比较多,我这里就不深入研究了,先研究在Springboot框架中集成。

下边我记录一下我在项目中整合redission的全过程。

老规矩,先放一下redission官网:

Redisson Reference Guide

一:添加POM依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency><!-- redis链接池 -->
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId>
</dependency><!-- redission -->
<dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.24.3</version>
</dependency>

二:YML配置

1:这里的配置主要是参照官方文档,我的redis是哨兵模式,官方文档如下:

Configuration - Redisson Reference Guide

我的配置如下所示:

(1):applica

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/63466.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

渗透测试基础

渗透测试基础是指对计算机系统、网络或应用程序进行模拟攻击&#xff0c;以发现其安全漏洞和潜在威胁的一种安全评估技术。通过模拟真实的攻击场景&#xff0c;渗透测试帮助组织了解其系统的安全弱点、验证防护措施的有效性&#xff0c;并提供改进建议。 渗透测试的核心概念 1…

ejb组件(rmi) webservice平台(xml)

springboot bean 在 Spring Boot 中&#xff0c;Bean 是 Spring 框架的核心概念之一&#xff0c;表示由 Spring 容器管理的对象。通过 Bean 或其他注解&#xff08;如 Component、Service、Repository 等&#xff09;来定义和管理这些对象。以下是关于 Spring Boot 中 Bean 的…

11.23[大数据]

PRO1:LSTM模型预测输出都是同一个值&#xff1f; 画出来的图像就是一条横线 这个搜了搜&#xff0c;原因可能有很多&#xff0c;但感觉最主要的原因极可能是激活函数选择不当&#xff0c;以及层的搭建不合适 原模型是 REF https://zhuanlan.zhihu.com/p/654325094 https:/…

基于SpringBoot+Vue的新闻管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着互联网技术的飞速发展&#xff0c;信息传播速度不断加快&#xff0c;新闻媒体行业面临着巨大的机遇与挑战。传统的新闻媒体正在逐渐向数字化转型&#xff0c;而新闻管理系统作为数字化新闻媒体的核心组成部分&#xff0c;其…

VCP-CLIP A visual context prompting modelfor zero-shot anomaly segmentation

GitHub - xiaozhen228/VCP-CLIP: (ECCV 2024) VCP-CLIP: A visual context prompting model for zero-shot anomaly segmentation 需要构建正样本&#xff0c;异常样本&#xff0c;以及对应的Mask

el-menu修改el-menu-item的高度后,里面的文字和图标高度没跟着变

解决方法 设置line-height的值和height一样。 <style lang"scss" scoped> .el-menu-item {height: 40px;line-height: 40px; } </style>

【C语言】完成程序设计填空

文章目录 1、请阅读下面的程序,在空白处填写正确的代码,要求各在一行从头开始输出m和n的值。2、求100~599之间的所有水仙花数,即各位数字的立方和恰好等于该数本身的数。3、以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序 拆分并输出。请填空…

MySQL-DDL之数据表操作

文章目录 一. 表的创建1. 表的创建2. 栗子 二. 查看表1. 查看数据库中的所有表2. 查看表结构 三. 删除表1. 删除表 四. 修改表结构1. 添加字段2. 修改字段3. 删除字段4. 修改表名 数据定义语言&#xff1a;简称DDL(Data Definition Language) 一. 表的创建 1. 表的创建 格式&…

【开源安全保护】如何安装JumpServer堡垒机

【开源安全保护】如何安装JumpServer堡垒机 什么是堡垒机 大家好&#xff0c;我是星哥&#xff0c;今天我以前来认识堡垒机 堡垒机&#xff08;Bastion Host&#xff09;&#xff0c;也称为跳板机&#xff08;Jump Server&#xff09;&#xff0c;是指在计算机网络中&#x…

【经典论文阅读】DDPM(Diffusion)

DDPM&#xff08;Diffusion&#xff09; denoising diffusion probabilistic models 【生成模型】DDPM概率扩散模型&#xff08;原理代码)-CSDN博客 【DDPM】一文看懂去噪扩散概率模型&#xff0c;公式讲解、代码实现与最全详解&#xff08;一&#xff09;-CSDN博客 【DDPM】…

RPC设计--TcpConnection和TcpServer

TcpConnection 对于服务端来说用来封装clientfd&#xff0c;对于client端来说&#xff0c;就是封装connect函数返回后的fd. 处理此fd上的读写&#xff0c;因此需要为其提供read\write方法&#xff0c;其方法内部调用系统的read\write函数&#xff0c;从fd中读写数据。 当Fd上…

重拾Java:穿越最具多功能性的编程语言之旅

你知道Java是世界上最广泛使用的编程语言之一吗&#xff1f;无论是用于Web应用、企业系统&#xff0c;还是Android开发&#xff0c;Java始终是各级开发者的可靠选择。 在完成SESI SENAI的系统开发技术培训后&#xff0c;我决定重新学习这门语言。现在&#xff0c;我将其与我正…

Swagger四种定义UI界面

以下四种UI必须基于springfox-boot-starter <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version> </dependency> 创建swagger相关的配置类如下: pack…

Kafka 常见面试题深度解析

一、基础概念 1. 请简要介绍 Kafka 的基本架构。 Kafka 主要由生产者&#xff08;Producer&#xff09;、消费者&#xff08;Consumer&#xff09;、代理&#xff08;Broker&#xff09;、主题&#xff08;Topic&#xff09;和分区&#xff08;Partition&#xff09;等组成。…

高级java每日一道面试题-2024年12月08日-JVM篇-什么是类加载器?

如果有遗漏,评论区告诉我进行补充 面试官: 什么是类加载器? 我回答: 在Java高级面试中&#xff0c;类加载器&#xff08;ClassLoader&#xff09;是一个重要的概念&#xff0c;它涉及到Java类的加载和初始化机制。以下是对类加载器的详细解释&#xff1a; 定义与作用 类加…

MySQL--用户权限

1.使用root用户登录MySQL客户端&#xff0c;创建一个名为userl的用户&#xff0c;初始密码为123456;创建一个名为user2的用户&#xff0c;无初始密码。然后&#xff0c;分别使用uesr1、user2登录MySQL 客户端。 创建两个用户 使用user1登录 使用user2登录 2.使用root用户登录&a…

LabVIEW断路器检测系统

随着电网技术的快速发展&#xff0c;对电力系统的可靠性和安全性要求不断提高&#xff0c;塑壳断路器作为关键的保护设备&#xff0c;其出厂前的检测非常重要。开发了一种基于LabVIEW软件平台开发的塑壳断路器智能脱扣器检测系统&#xff0c;该系统能够有效提高检测的自动化水平…

Python实现Excel中数据条显示

Python中要实现百分比数据条的显示&#xff0c;可以使用pandas库&#xff0c;pandas图表样式的设置与Excel中的条件格式设置比较类似&#xff0c;比如Excel里常用的数据条的用法&#xff0c;在pandas中使用代码进行高亮显示&#xff0c;用来突出重点数据&#xff0c;下面一起来…

使用Vue3+Echarts实现加载中国地图,点击省份地图下钻(完整教程)

一. 前言 在众多 ECharts 图表类型中&#xff0c;开发者始终绕不开的有各种各样的地图开发&#xff0c;关于地图开发&#xff0c;可能比其他图表相对繁琐一些&#xff0c;其实说简单也简单&#xff0c;说复杂也复杂&#xff0c;其中不乏有层级地图、3D 地图等&#xff0c;感觉…

腾讯混元部署笔记 HunyuanVideo

目录 Download Text Encoder attention 默认改为了torch flash_atten安装 GitHub - Tencent/HunyuanVideo: HunyuanVideo: A Systematic Framework For Large Video Generation Model Training Download Text Encoder HunyuanVideo uses an MLLM model and a CLIP model as …