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

Redis Cluster 集群搭建和集成使用的详细步骤示例

以下是Redis集群搭建和集成使用的详细步骤示例:

搭建Redis集群
  1. 环境准备
    • 下载Redis:从Redis官方网站下载最新稳定版本的Redis源代码,解压到指定目录,如/opt/redis
    • 安装依赖:确保系统安装了必要的依赖,如GCC等。
  2. 创建集群节点
    • 创建节点目录:创建6个节点目录,用于存放不同端口的Redis实例配置文件和数据,例如:
      mkdir -p /opt/redis-cluster/700{1..6}
      
    • 配置Redis实例:为每个节点创建配置文件,例如/opt/redis-cluster/7001/redis.conf,内容如下:
      port 7001
      bind 0.0.0.0
      cluster-enabled yes
      cluster-config-file nodes.conf
      cluster-node-timeout 5000
      appendonly yes
      
    • 启动Redis实例:分别启动6个Redis实例:
      redis-server /opt/redis-cluster/7001/redis.conf
      # 依次启动其他5个实例
      
  3. 创建集群
    • 使用redis-cli创建集群:执行以下命令创建集群,并为每个主节点分配一个从节点:
      redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1
      
    • 确认集群状态:使用cluster nodes命令查看集群节点状态,确保所有节点正常。
集成使用Redis集群
  1. Spring Boot集成
    • 添加依赖:在pom.xml中添加Redis和Spring Data Redis依赖:
      <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
      </dependency>
      
    • 配置Redis集群:在application.properties中配置Redis集群节点信息:
      spring.redis.cluster.nodes=127.0.0.1:7001,127.0.0.1:7002,127.0.0.1:7003
      
    • 编写Redis操作代码:创建Service类,使用StringRedisTemplate操作Redis集群:
      @Service
      public class RedisClusterService {@Autowiredprivate StringRedisTemplate redisTemplate;public void setValue(String key, String value) {redisTemplate.opsForValue().set(key, value);}public String getValue(String key) {return redisTemplate.opsForValue().get(key);}
      }
      
  2. 测试
    • 编写测试用例:创建测试类,注入RedisClusterService,测试数据读写:
      @SpringBootTest
      class RedisClusterServiceTest {@Autowiredprivate RedisClusterService redisClusterService;@Testvoid testRedisCluster() {redisClusterService.setValue("testKey", "testValue");String value = redisClusterService.getValue("testKey");assertEquals("testValue", value);}
      }
      

通过以上步骤,您已成功搭建Redis集群并将其集成到Spring Boot应用中,实现了分布式缓存功能。

http://www.xdnf.cn/news/430543.html

相关文章:

  • 微信小程序分包策略:优化加载性能与用户体验
  • 使用Kubernetes实现零停机部署
  • android抓包踩坑记录
  • linux系统如何将采集的串口数据存储到txt
  • TCP首部格式及三次握手四次挥手
  • 操作系统导论——第29章 基于锁的并发数据结构
  • 【25软考网工】第六章(5)应用层安全协议
  • 讯联云库项目开发日志(一)
  • 记录算法笔记(2025.5.13)二叉树的最大深度
  • 基于STM32、HAL库的ADAU1701JSTZ-RL音频接口芯片驱动程序设计
  • flink的TaskManager 内存模型
  • 奇怪的公式
  • 代码随想录三十七天 完全背包二维 完全背包一维 518. 零钱兑换 II 377. 组合总和 Ⅳ
  • 视频编解码学习十一之视频原始数据
  • 思维链实现 方式解析
  • Python----神经网络(《Inverted Residuals and Linear Bottlenecks》论文概括和MobileNetV2网络)
  • 简单介绍Qt的属性子系统
  • Python爬虫(26)Python爬虫高阶:Scrapy+Selenium分布式动态爬虫架构实践
  • MLA (Multi-head Attention Layer) 详细说明
  • 报告研读:125页2024年大模型轻量化技术研究报告——技术详细讲解【附全文阅读】
  • 9、Activiti-任务(Task)的相关操作
  • 深入浅出MySQL 8.0:新特性与最佳实践
  • java基础-方法的重写、super关键字
  • NVMe学习资料汇总
  • 浅析AI大模型为何需要向量数据库?从记忆存储到认知进化
  • AI Agent开发第65课-DIFY和企业现有系统结合实现高可配置的智能零售AI Agent(下)
  • 2025年,大模型LLM还有哪些可研究的方向?
  • Mac上安装Mysql的详细步骤及配置
  • Python核心数据类型全解析:字符串、列表、元组、字典与集合
  • 在C#中使用YOLO的几种方式