本地 Windows 环境下 Redis 集群搭建全流程

一、前言
Redis 集群是解决单节点 Redis 容量、性能、高可用瓶颈的核心方案。相比单节点,集群可通过数据分片突破内存上限,通过主从复制实现故障自动转移。本文详细讲解如何在 Windows 本地环境中,从 0 到 1 搭建一套 3 主 3 从的 Redis 集群,并验证其核心特性。
二、环境准备

  1. 软件版本要求
    确保本地已安装 Redis(推荐版本 ≥ 5.0,本文以 Redis 8.2.1 为例)。可通过以下命令验证版本:
    cmd
    redis-server --version
    redis-cli --version
  2. 目录规划
    在 Redis 根目录(如 D:\redis\redis)下,为 6 个集群节点(端口 7000~7005)创建独立目录:
    cmd
    cd D:\redis\redis
    mkdir cluster
    cd cluster
    mkdir 7000 7001 7002 7003 7004 7005
    三、节点配置编写
    为每个节点编写 redis.conf 配置文件,以 7000 节点为例:
  3. 配置文件内容
    在 D:\redis\redis\cluster\7000 目录下创建 redis.conf,写入以下内容:
    conf
    port 7000
    cluster-enabled yes
    cluster-config-file nodes-7000.conf
    cluster-node-timeout 5000
    daemonize no # Windows 不支持后台运行,设为 no 前台启动
    bind 127.0.0.1
    protected-mode no
    appendonly yes
    dir D:/redis/redis/cluster/7000/ # 数据持久化存储目录
  4. 批量配置其他节点
    将 7000 节点的配置文件复制到 7001~7005 目录,并修改端口、配置文件名等:
    cmd

复制配置文件到所有节点目录

for %i in (7001,7002,7003,7004,7005) do (
copy D:\redis\redis\cluster\7000\redis.conf D:\redis\redis\cluster%i
)

批量修改端口(以 7001 为例,其他节点同理)

sed -i "s/7000/7001/g" D:\redis\redis\cluster\7001\redis.conf
四、启动所有节点
为每个节点单独启动(需保持 6 个 CMD 窗口运行,或后台启动):
cmd

启动 7000 节点

redis-server D:\redis\redis\cluster\7000\redis.conf

依次启动 7001~7005 节点(替换端口即可)

redis-server D:\redis\redis\cluster\7001\redis.conf
redis-server D:\redis\redis\cluster\7002\redis.conf
redis-server D:\redis\redis\cluster\7003\redis.conf
redis-server D:\redis\redis\cluster\7004\redis.conf
redis-server D:\redis\redis\cluster\7005\redis.conf
五、创建 Redis 集群

  1. 执行集群创建命令
    打开新的 CMD 窗口,执行以下命令(自动分配 3 主 3 从):
    cmd
    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
    输入 yes 确认主从分配方案,等待终端提示 [OK] All 16384 slots covered.(表示所有槽位已分配,集群创建成功)。
    六、验证集群核心特性
  2. 连接集群并查看状态
    cmd
    redis-cli -c -p 7000 # -c 开启集群模式,自动路由数据
    127.0.0.1:7000> cluster info # 查看集群状态(正常时 cluster_state:ok)
    127.0.0.1:7000> cluster nodes # 查看所有节点的主从关系和槽位分配
  3. 测试数据分片与自动路由
    Redis 集群会根据 key 的哈希值,将数据分配到不同节点的槽位中,客户端会自动路由:
    cmd
    127.0.0.1:7000> set mykey "hello redis cluster"

自动重定向到负责该 key 槽位的节点(如 127.0.0.1:7002)

127.0.0.1:7002> get mykey # 成功读取数据
"hello redis cluster"
3. 测试高可用(主节点故障转移)
模拟主节点故障,验证从节点自动升级:
cmd

关闭主节点 7000

redis-cli -p 7000 shutdown

重新连接集群,查看节点状态

redis-cli -c -p 7001
127.0.0.1:7001> cluster nodes

可观察到 7000 的从节点(如 7004)已升级为新主节点

七、集群启停与管理

  1. 停止集群
    按 “主节点 → 从节点” 的顺序关闭,避免数据同步异常:
    cmd

关闭主节点(7000、7001、7002)

redis-cli -p 7000 shutdown
redis-cli -p 7001 shutdown
redis-cli -p 7002 shutdown

关闭从节点(7003、7004、7005)

redis-cli -p 7003 shutdown
redis-cli -p 7004 shutdown
redis-cli -p 7005 shutdown
2. 重置集群(可选)
若需重新创建集群,可重置节点的集群配置:
cmd
redis-cli -p 7000 cluster reset

其他节点同理执行 cluster reset

八、总结
通过以上步骤,我们在 Windows 本地成功搭建了 Redis 集群,验证了数据分片、自动路由、主从故障转移等核心特性。这套集群可用于本地开发测试,模拟生产环境的分布式 Redis 场景。
注意:Windows 版本的 Redis 在性能和稳定性上与 Linux 存在差异,生产环境建议使用 Linux 服务器搭建 Redis 集群。后续还可基于此集群,进一步学习扩容、缩容、槽位迁移等高级操作。

posted @ 2025-10-16 15:58  来时er  阅读(546)  评论(0)    收藏  举报