当前位置: 首页 > 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.dtcms.com/a/275953.html

相关文章:

  • Syntax Error: TypeError: Cannot set properties of undefined (setting ‘parent‘)
  • Unity URP + XR 自定义 Skybox 在真机变黑问题全解析与解决方案(支持 Pico、Quest 等一体机)
  • Cookie、Session、Token 有什么区别?
  • Spring Boot 中使用 Lombok 进行依赖注入的示例
  • 【离线数仓项目】——电商域DWD层开发实战
  • 【C++ STL 库】解析stack、queue、priority_queue类
  • 中文多智能体金融交易决策框架-TradingAgents-CN
  • 本地安装ClaudeCode全攻略
  • 【Python】多线程详解:从基础概念到实战应用
  • 免费尝试claude code的安利,截至今天可用(7/12)
  • openGauss数据库管理实战指南——基本常用操作总结
  • AI:机器人未来的形态是什么?
  • Cisco ACI 生成Postman CSV 脚本场景
  • 死锁的避免
  • Spring Boot 应用中,配置的加载优先级
  • 锁相环初探
  • CTFHub————Web{信息泄露[Git泄露(Stash、Index)]}
  • Java 接口详解:从基础到高级,掌握面向对象设计的核心契约
  • 使用FastAdmin框架开发二
  • ollama - sqlcoder模型:面向提示词编程(根据用户信息生成sql语句并执行返回结果)
  • SQL新手入门详细教程和应用实例
  • 微信小程序121~130
  • [Vroom] 时间窗口 | 载重与货量管控 | 内部路由表示机制 | 增量式更新算法O(1)
  • 【Redis-05】高可用方案-主从哨兵
  • 【PTA数据结构 | C语言版】用两个栈实现队列
  • 监控28181连接到云服务器/推流分发/客户端网页端手机端拉流/实时性好极低延迟
  • 初等行变换会改变矩阵的什么?不变改变矩阵的什么?求什么时需要初等行变换?求什么时不能初等行变换?
  • GRPO PPO
  • Python 是动态类型的语言,它和静态类型语言(如 C++/Java)有什么优缺点?
  • CSS动画下划线