当前位置: 首页 > 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.lryc.cn/news/586286.html

相关文章:

  • 【嵌入式】51单片机学习笔记-Keil5软件安装教程
  • 启动Haproxy失败,如何排查问题
  • 深度聚焦:潜在学员转化与流失管理——提升销售流程闭环
  • C语言<数据结构-单链表>(收尾)
  • 缓存三剑客解决方案
  • BaseDao 通用查询方法设计与实现
  • Raft 代码分析
  • 区块链平台之以太坊深入解读:技术、经济与生态的全面解析
  • el-tree 懒加载 loadNode
  • 可穿戴智能硬件在国家安全领域的应用
  • 【设计模式】装饰(器)模式 透明装饰模式与半透明装饰模式
  • Lua ADB 接口文档
  • GGE Lua 详细教程
  • C# 接口(派生成员作为实现)
  • nginx反向代理实现跨域请求
  • 分层架构的C++高并发内存池性能优化
  • STP生成树协议
  • Eureka实战
  • Linux - 安全排查 3
  • 带货视频评论洞察 Baseline 学习笔记 (Datawhale Al夏令营)
  • 【读书笔记】《C++ Software Design》第一章《The Art of Software Design》
  • 【大模型面试】50道大型语言模型(LLM)面试问题汇总,看完少走99%弯路!
  • 不止于监控:深入剖析OpenTelemetry的可观察性生态体系
  • LeetCode 3169.无需开会的工作日:排序+一次遍历——不需要正难则反,因为正着根本不难
  • 暑期前端训练day6
  • 历史数据分析——云南白药
  • 连接池的核心接口和常用属性
  • 基于大模型的鼻咽癌全周期预测及诊疗优化研究报告
  • SQL新手入门详细教程和应用实例
  • 零基础 “入坑” Java--- 九、类和对象(二)