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

【Redis实战】Widnows本地模拟Redis集群的2种方法

作者:唐叔在学习

专栏:数据库学习

关键词:Redis集群、Redis Cluster、本地开发环境、分布式缓存、Docker部署、高可用缓存、Redis实战

文章目录

    • 1. 为什么要模拟Redis集群?
    • 2. 方法1:多实例集群(最接近生产环境)
      • 步骤1:创建6个节点的配置文件
      • 步骤2:启动所有节点
      • 步骤3:创建集群(3主3从)
    • 3. 方法2:Docker一键部署(推荐!)
      • 方案1:直接运行
      • 方案2:docker-compose(更优雅)
    • 4. 验证集群状态
    • 5. 方法对比总结
    • 6. 结语

1. 为什么要模拟Redis集群?

Redis Cluster是Redis官方提供的分布式方案,支持数据分片(Sharding)高可用(HA)。但在本地开发时,我们通常没有多台服务器,如何测试集群功能?

今天,唐叔教你2种本地模拟Redis集群的方法,让你在单机上也能玩转分布式缓存!

2. 方法1:多实例集群(最接近生产环境)

如果想模拟真实Redis集群(3主3从),可以在本地启动多个Redis实例:

步骤1:创建6个节点的配置文件

for port in 7000 7001 7002 7003 7004 7005; domkdir -p redis-cluster/${port}cat > redis-cluster/${port}/redis.conf <<EOF
port ${port}
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
EOF
done

使用GIT-BASH进行执行,即可自动生成脚本对应的Redis集群配置文件。

在这里插入图片描述

当然,如果本地没有安装GIT,也可以手动创建配置文件。

以端口号7000的集群节点配置文件为例,文件内容如下:

port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

其他节点(7001\7002\7003\7004\7005)配置文件,只需该端口号,其他保持一致即可。

步骤2:启动所有节点

for port in 7000 7001 7002 7003 7004 7005; docd redis-cluster/${port} && redis-server ./redis.conf &
done

使用GIT-BASH进行执行,即可批量启动Redis集群节点服务。

在这里插入图片描述

当然,如果本地没有安装GIT,也可以手动启动Redis节点服务。

分别进入对应的集群节点目录,使用命令行创建,手动输入指令:redis-server redis.conf,启动即可。

在这里插入图片描述

步骤3:创建集群(3主3从)

上述指令,相当于配置了Redis集群节点信息,同时开启节点服务,但是需要将其配置为集群,需要输入下述指令配置集群连接信息。

redis-cli --cluster create 127.0.0.1:7000 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 --cluster-replicas 1

在这里插入图片描述

适用场景
✅ 模拟真实集群分片
✅ 测试故障转移(Failover)
❌ 需要手动管理多个进程

注意:上述方式,要保持开启端口的窗口不关闭,一旦关闭窗口,集群节点也相当于关闭。

3. 方法2:Docker一键部署(推荐!)

如果你用Docker,可以秒级搭建Redis集群,超级方便!

方案1:直接运行

进入Docker Hub,搜索并下载 redis-cluster

在这里插入图片描述

进入镜像,直接点击 Run 运行。

在这里插入图片描述

查询运行情况

在这里插入图片描述

方案2:docker-compose(更优雅)

version: '3'
services:redis-cluster:image: grokzen/redis-cluster:latestports:- "7000-7005:7000-7005"environment:- IP=0.0.0.0

适用场景
✅ 快速搭建完整集群
✅ 适合CI/CD自动化测试
✅ 一键清理,不污染本地环境


4. 验证集群状态

无论哪种方法,都可以用以下命令检查集群:

redis-cli -p 7000 cluster nodes  # 查看节点信息
redis-cli -p 7000 cluster info   # 查看集群状态

5. 方法对比总结

方法适用场景优点缺点
多实例集群模拟生产环境真实分片、高可用手动管理麻烦
Docker集群开发/测试/CI一键部署、干净隔离需要Docker环境

6. 结语

本文介绍了2种本地模拟Redis集群的方法,推荐:

  • 开发测试 → 用Docker方案(最方便)
  • 深入学习 → 多实例方案(最接近生产)

如果你有更好的方法,欢迎在评论区交流!关注唐叔,解锁更多Redis实战技巧! 🚀


往期推荐:

在Windows非Docker环境安装Redis的几种方法(亲测有效)

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

相关文章:

  • Git 相关的常见面试题及参考答案
  • 国产电钢琴电子琴手卷钢琴对比选购指南
  • 2025年亚太杯(中文赛项)数学建模B题【疾病的预测与大数据分析】原创论文讲解(含完整python代码)
  • ESP32使用freertos更新lvgl控件内容
  • 搭建云手机教程
  • 聊下easyexcel导出
  • Java可变参数
  • 从基础加热到智能生态跨越:艾芬达用创新重构行业价值边界!
  • Go mod 依赖管理完全指南:从入门到精通
  • 代码随想录day28贪心算法2
  • 【AI News | 20250711】每日AI进展
  • Spring(四) 关于AOP的源码解析与思考
  • Java SE--抽象类和接口
  • 如何查看服务器当前用户的权限
  • GD32 CAN1和TIMER0同时开启问题
  • 深度学习15(GRU、LSTM+词嵌入+seq2seq+attention)
  • 电子基石:硬件工程师的器件手册 (五) - 三极管:电流放大的基石与开关的利刃
  • 7. JVM类加载器与双亲委派模型
  • 关于两种网络攻击方式XSS和CSRF
  • 二分法寻找无序序列的峰值
  • [Token]Token merging for Vision Generation
  • 学python,PyCharm 和 VSCode哪个更好用?
  • ChatRex RexSeek RexThinker: 结合多模态大语言模型的目标检测模型构建
  • vue3+vit+vue-router路由,侧边栏菜单,面包屑导航设置层级结构
  • 商业机密保卫战:如何让离职员工带不走的客户资源?
  • 六年级数学知识边界总结思考-上册
  • Rust Web 全栈开发(五):使用 sqlx 连接 MySQL 数据库
  • 【赵渝强老师】国产数据库TiDB的代理路由:TiProxy
  • 服务器怎么跑Python项目?
  • 【代码随想录】刷题笔记——哈希表篇