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

SpringBoot 实现 Redis读写分离

RedisTemplate的哨兵模式

在Sentinel集群监管下的Redis主从集群,其节点会因为自动故障转移而发生变化,Redis的客户端必须感知这种变化,及时更新连接信息。Spring的RedisTemplate底层利用lettuce实现了节点的感知和自动切换。

1.在pom文件中引入redis的starter依赖:

  <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>

2.然后在配置文件application.yml中指定sentinel相关信息:

spring:redis:sentinel:master: mymaster #sentinel中配置的主节点名称(必须和Sentinel中配置一致!!!)nodes:  #配置的各个sentinel节点- 192.168.101.129:27001- 192.168.101.129:27002- 192.168.101.129:27003

3.自定义 Lettuce 客户端的行为配置,配置Redis 读取操作时的 读取策略(ReadFrom)

    @Beanpublic LettuceClientConfigurationBuilderCustomizer configurationBuilderCustomizer(){return new LettuceClientConfigurationBuilderCustomizer() {@Overridepublic void customize(LettuceClientConfiguration.LettuceClientConfigurationBuilder clientConfigurationBuilder) {/*** MASTER:从主节点读取* MASTER_PREFERRED:优先从master节点读取,master不可用才读取replica* REPLICA:从slave(replica)节点读取* REPLICA _PREFERRED:优先从slave(replica)节点读取,所有的slave都不可用才读取master*///配置优先从slave(replica)节点读取,所有的slave都不可用才读取masterclientConfigurationBuilder.readFrom(ReadFrom.REPLICA_PREFERRED);}};}

🧠 ReadFrom 策略详解

枚举值含义
MASTER强制从主节点读取(默认行为)
MASTER_PREFERRED优先从主节点读取,主节点不可用则从副本节点读
REPLICA只从副本节点读取(如果没有可用副本会失败)
REPLICA_PREFERRED优先从副本节点读取,如果副本不可用再从主节点读(你当前使用的策略)
http://www.lryc.cn/news/589001.html

相关文章:

  • 编译原理第一到三章(知识点学习/期末复习/笔试/面试)
  • 第三章 OB SQL 引擎高级技术
  • HR数字化转型:3大痛点解决方案与效率突破指南
  • B/S架构系统角色与对应协议详解
  • AAAI-2025 | 同济大学面向嘈杂环境的音频视觉导航!BeDAViN:大规模音频-视觉数据集与多声源架构研究
  • HCIA第三次综合实验:VLAN
  • iOS高级开发工程师面试——常见第三方框架架构设计
  • ESP32S3+VSCode+PlatformIO+Arduino+Freertos开发入门指南:基于Arduino框架的应用开发全流程
  • 基于LAMP环境的校园论坛项目
  • 新手向:Python数据处理Excel报表自动化生成与分析
  • 剑指offer62_骰子的点数
  • 为什么市场上电池供电的LoRa DTU比较少?
  • [Pytest][Part 5]单条测试和用例集测试
  • MMYSQL刷题
  • CAU数据挖掘 第五章 聚类问题
  • 【canal+mysql+example+数据验证测试】
  • Python 内置函数random
  • 行为模式-状态模式
  • 小智完整MCP交互流程(以调节音量为例)
  • 网络安全职业指南:探索网络安全领域的各种角色
  • 使用llama-factory进行qwen3模型微调
  • elasticsearch 下载/安装
  • MaxKB使用笔记【持续ing】
  • python+selenium UI自动化初探
  • JAVA高级第一章 集合框架和泛型(一)
  • Ubuntu18.04 系统重装记录
  • 写作词汇积累(A):自洽、自恰、恰如其分、恰当
  • MQ2烟雾传感器模块(第九天)
  • C++学习笔记五
  • 《时间简史》:窥探宇宙的奥秘