当前位置: 首页 > news >正文

redisson 哨兵模式配置

背景:项目redis由集群改为哨兵模式,漏洞扫描未授权访问漏洞(CNVD-2019-21763),要求对redis哨兵也设置密码,redisson依赖版本为3.11.5   spring-boot版本为2.1.13。

redisson依赖升级

        <dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.15.6</version><exclusions><exclusion><groupId>org.redisson</groupId><artifactId>redisson-spring-data-24</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-data-21</artifactId><version>3.15.6</version></dependency>

        说明:3.11.5版本不支持设置哨兵密码,也就是SentinelPassword,需要升级redisson版本,为什么排除redisson-spring-data-24,高版本redisson会排除jedis以及lettuce,如果不排除并重新引入的话启动会报错,报错如下:java.lang.NoClassDefFoundError:org/springframework/data/redis/connection/RedisStreamCommands

2.1.X版本支持的是redisson-spring-data-21,所以排除springboot2.3的支持,引入2.1的支持。

配置:

spring.redis.database=0
spring.redis.password=HcicloudRedis2000
spring.redis.sentinel.master=mymaster
spring.redis.sentinel.nodes=ip:portspring.redis.jedis.pool.max-idle=200
spring.redis.jedis.pool.min-idle=10
spring.redis.jedis.pool.max-active=200
spring.redis.jedis.pool.max-wait=10000ms
spring.redis.jedis.pool.ping-rate=30000
spring.redis.jedis.pool.timeout=10000

config:

@Configuration
@ConfigurationProperties
@Data
public class RedissonConfig {@Value("${spring.redis.sentinel.nodes:}")private String nodes;@Value("${spring.redis.sentinel.master:}")private String master;@Value("${spring.redis.jedis.pool.timeout}")private int timeout;@Value("${spring.redis.password}")private String password;@Value("${spring.redis.database}")private int database;@Value("${spring.redis.jedis.pool.max-idle}")private int maxPool;@Value("${spring.redis.jedis.pool.min-idle}")private int minPool;@Value("${spring.redis.jedis.pool.max-active}")private int maxActive;@Value("${spring.redis.jedis.pool.ping-rate}")private int pingRate;@Bean@ConditionalOnMissingBeanRedissonClient redissonSentinel(){Config config = new Config();String[] nodesStr = nodes.split(",");List<String> nodeList = new ArrayList<>(nodesStr.length);Arrays.stream(nodesStr).forEach((index)->nodeList.add(index.startsWith("redis://")?index:"redis://"+index));SentinelServersConfig sentinelConfig = config.useSentinelServers().addSentinelAddress(nodeList.toArray(new String[0])).setCheckSentinelsList(false).setPingConnectionInterval(pingRate).setMasterName(master).setDatabase(database).setReadMode(ReadMode.SLAVE).setMasterConnectionMinimumIdleSize(minPool).setSlaveConnectionMinimumIdleSize(minPool).setMasterConnectionPoolSize(maxPool).setSlaveConnectionPoolSize(maxPool).setTimeout(timeout);if(StringUtils.isNotEmpty(password)){sentinelConfig.setPassword(password).setSentinelPassword(password); //哨兵和master的密码在配置中保持了一致,请根据项目实际情况配置}return Redisson.create(config);}}

相关文章:

redisson 哨兵模式配置

背景&#xff1a;项目redis由集群改为哨兵模式&#xff0c;漏洞扫描未授权访问漏洞&#xff08;CNVD-2019-21763&#xff09;&#xff0c;要求对redis哨兵也设置密码&#xff0c;redisson依赖版本为3.11.5 spring-boot版本为2.1.13。 redisson依赖升级 <dependency>&l…...

免费的ChatGPT分享

免费的ChatGPT 以下是一些免费的ChatGPT平台和工具&#xff1a; 零声教学AI助手 零声教育内部使用的ChatGPT&#xff0c;提供智能对话和问题解答功能。 Ora.ai 一个可以自定义的AI聊天机器人&#xff0c;可以根据个人需求进行定制和训练。 ChatGPT 人工智能聊天机器人&a…...

C语言—每日选择题—Day54

指针相关博客 打响指针的第一枪&#xff1a;指针家族-CSDN博客 深入理解&#xff1a;指针变量的解引用 与 加法运算-CSDN博客 第一题 1. 存在int类型变量x&#xff0c;y&#xff0c;z&#xff0c;其对应值为x0x59&#xff0c;y0x39&#xff0c;z0x6E&#xff0c;则x * y z的值…...

先进制造身份治理现状洞察:从手动运维迈向自动化身份治理时代

在新一轮科技革命和产业变革的推动下&#xff0c;制造业正面临绿色化、智能化、服务化和定制化发展趋势。为顺应新技术革命及工业发展模式变化趋势&#xff0c;传统工业化理论需要进行修正和创新。其中&#xff0c;对工业化水平的判断标准从以三次产业比重标准为主回归到工业技…...

【密码学引论】密码协议

定义&#xff1a;两个或者两个以上参与者为了完成某一特定任务而采取的一系列执行步骤密码协议&#xff1a;Kerberos、IPSec、SSL、SET算法是低层次上的概念&#xff0c;而协议是高层次上的概念&#xff0c;协议建立在算法的基础上。所有密码协议都容易受中间人攻击&#xff0c…...

利用快手的用户数据和精准营销提升电商平台用户转化率和销售额

一、快手用户数据的价值 快手作为国内领先的短视频平台&#xff0c;拥有庞大的用户群体和丰富的用户行为数据。这些数据包括用户的观看习惯、互动行为、兴趣偏好等&#xff0c;对于电商平台来说具有极高的商业价值。通过分析这些数据&#xff0c;电商平台可以深入了解用户需求…...

Linux根目录下默认目录作用

在Linux操作系统中&#xff0c;根目录&#xff08;/&#xff09;下的默认目录一般用于不同用途的文件存放和系统管理。以下是一些常见的默认目录及其用途&#xff1a; /bin&#xff1a;该目录存放系统的基本命令和可执行文件&#xff0c;如ls、cp、mv等。这些命令可供系统用户…...

国产Type-C接口逻辑协议芯片:Type-C显示器芯片方案

产品介绍 双Type-C盲插选型&#xff1a; LDR6282 PD3.0认证协议芯片&#xff0c;USB-IF TID号&#xff1a;212 支持iic&#xff0c;USB转UART&#xff0c;CC升级方式&#xff0c;多年市场验证&#xff0c;显示器市场出货量&#xff0c;显示器大厂采用兼容性NO.1。采用QFN32 5*…...

uniapp如何原生app-云打包

首先第一步&#xff0c;需要大家在HBuilder X中找到一个项目&#xff0c;然后呢在找到上面的发行选项 发行->原生App-云打包 选择完该选中的直接大包就ok。 大包完毕后呢&#xff0c;会出现一个apk包&#xff0c;这是后将这个包拖动发给随便一个人就行了。 然后接收到的那…...

分布式编译distcc

工程代码编译速度太慢&#xff0c;决定采用分布式编译来提高编译速度. distcc &#xff0c;请参考https://www.distcc.org/ 安装 我用的distcc的版本是distcc-3.2rc1, 下载源码&#xff0c;安装步骤如下&#xff1a; ./autogen.sh ./configure --disable-Werror --prefix/…...

Elasticsearch常见面试题

文章目录 1.简单介绍下ES&#xff1f;2.简单介绍当前可以下载的ES稳定版本&#xff1f;3.安装ES前需要安装哪种软件&#xff1f;4.请介绍启动ES服务的步骤&#xff1f;5.ES中的倒排索引是什么&#xff1f;6. ES是如何实现master选举的&#xff1f;7. 如何解决ES集群的脑裂问题8…...

solidity 重入漏洞

目录 1. 重入漏洞的原理 2. 重入漏洞的场景 2.1 msg.sender.call 转账 2.2 修饰器中调用地址可控的函数 1. 重入漏洞的原理 重入漏洞产生的条件&#xff1a; 合约之间可以进行相互间的外部调用 恶意合约 B 调用了合约 A 中的 public funcA 函数&#xff0c;在函数 funcA…...

【智能家电】东胜物联离在线语音方案为厨电企业赋能,实现厨房智能化控制

近年来&#xff0c;我国厨电市场蓬勃发展。据行业统计数据显示&#xff0c;至今年6月&#xff0c;市场规模已达356亿元&#xff0c;同比增长8.8%。随着数字科技、物联网和人工智能的兴起&#xff0c;厨电产品正在朝着更智能、多功能化的方向迅速发展。 为此厨电厂商正在积极布…...

3DMAX英文版怎么切换到中文版?

3DMAX英文换到中文版的方法 3dMax是专业三维建模、渲染和动画软件&#xff0c;它使你能够创建广阔的真实世界和各种高级设计。 -使用强大的建模工具为环境和景观注入活力。 -使用直观的纹理和着色工具创建精细的细节设计和道具。 -迭代并制作具有完全艺术控制的专业级渲染图…...

WEB渗透—PHP反序列化(八)

Web渗透—PHP反序列化 课程学习分享&#xff08;课程非本人制作&#xff0c;仅提供学习分享&#xff09; 靶场下载地址&#xff1a;GitHub - mcc0624/php_ser_Class: php反序列化靶场课程&#xff0c;基于课程制作的靶场 课程地址&#xff1a;PHP反序列化漏洞学习_哔哩…...

LeetCode——2415. 反转二叉树的奇数层

通过万岁&#xff01;&#xff01;&#xff01; 题目&#xff1a;给你一个完全二叉树&#xff0c;然后将其奇数层进行反转。思路&#xff1a;这个题他都说了是奇数层了&#xff0c;那基本就是层序遍历了。但是存在两个问题&#xff0c;一个是如何判断奇数层&#xff0c;另外一…...

【Spring学习笔记】Spring 注解开发

Spring学习——注解开发 注解开发注解开发定义bean纯注解开发 Bean管理bean作用范围bean生命周期 依赖注入自动装配 第三方bean管理注解开发总结XML配置与注解配置比较 注解开发 注解开发定义bean 使用Component定义开发 Component("bookDao") public class BookD…...

【华为数据之道学习笔记】6-5数据地图的核心价值

数据供应者与消费者之间往往存在一种矛盾&#xff1a;供应者做了大量的数据治理工作、提供了大量的数据&#xff0c;但数据消费者却仍然不满意&#xff0c;他们始终认为在使用数据之前存在两个重大困难。 1&#xff09;找数难 企业的数据分散存储在上千个数据库、上百万张物理表…...

JavaWeb笔记之JSP

一、引言 现有问题 在之前学习Servlet时&#xff0c;服务端通过Servlet响应客户端页面&#xff0c;有什么不足之处&#xff1f; 开发方式麻烦&#xff1a;继承父类、覆盖方法、配置Web.xml或注解。 代码修改麻烦&#xff1a;重新编译、部署、重启服务。 显示方式麻烦&#x…...

在x64上构建智能家居(home assistant)(二)(新版Debain12)连接Postgresql数据库

新版数据库安装基本和旧版相同,大部分可以参考旧版本在x64上构建智能家居(home assistant)&#xff08;二&#xff09;连接Postgresql数据库_homeassist 数据库-CSDN博客 新版本的home assistant系统安装,我在原来写的手顺上直接修改了,需要的可以查看在x64上构建智能家居(home…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...