在Windows上部署Redis和哨兵的详细指南

目录

  1. 流程概述
  2. 安装Redis
  3. 配置Redis主节点
  4. 配置Redis从节点
  5. 配置Redis哨兵
  6. 测试哨兵
  7. 总结

1. 流程概述

在本指南中,我们将使用Redis和Redis Sentinel在Windows上进行本地部署。以下是整个部署流程的概述:

步骤 描述
1 下载并安装Redis
2 配置主节点Redis
3 配置从节点Redis
4 配置Redis Sentinel
5 测试Redis Sentinel

2. 安装Redis

首先,我们需要下载并安装Redis,步骤如下:

  1. 下载Redis Windows版,访问[Redis releases](
  2. 解压下载的文件到一个目录(如C:\Redis)。
  3. 打开命令行窗口并导航到Redis目录。

在命令行中运行以下代码来启动Redis服务器:

redis-server.exe redis.conf
  • redis-server.exe 是启动Redis服务器的可执行文件。
  • redis.conf 是我们配置Redis的文件。

3. 配置Redis主节点

我们需要对主节点进行配置。在C:\Redis目录下创建一个名为 redis-master.conf 的文件,内容如下:

port 6379
bind 127.0.0.1
protected-mode yes
# 设置主节点ID
# 该值会在服务器启动时自动生成。
  • port 6379 指定Redis服务运行的端口。
  • bind 127.0.0.1 表示只允许本地连接。
  • protected-mode yes 启用保护模式,仅允许本地访问。

使用以下命令启动主节点:

redis-server.exe redis-master.conf

4. 配置Redis从节点

接下来,我们需要配置从节点。在C:\Redis目录下创建名为 redis-slave.conf 的文件,内容如下:

port 6380
bind 127.0.0.1
protected-mode yes
# 设置从节点的主节点
replicaof 127.0.0.1 6379
  • port 6380 指定从节点的端口。
  • replicaof 127.0.0.1 6379 表示该节点作为主节点的从节点。

运行以下命令来启动从节点:

redis-server.exe redis-slave.conf

5. 配置Redis Sentinel

现在,我们需要配置Redis Sentinel。在C:\Redis目录下创建名为 sentinel.conf 的文件,内容如下:

port 26379
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
  • port 26379 指定Sentinel的运行端口。
  • sentinel monitor mymaster 127.0.0.1 6379 2 指定监控的主节点,2表示需要多少个哨兵必须同意该主节点失效。
  • sentinel down-after-milliseconds mymaster 5000 定义哨兵多久后判断主节点失效。
  • sentinel failover-timeout mymaster 60000 设定从节点进行故障切换的最长等待时间。

然后启动哨兵:

redis-sentinel.exe sentinel.conf

6. 测试哨兵

我们可以通过以下命令来连接到Sentinel并查看状态:

redis-cli -p 26379

在Sentinel命令行中,使用以下命令来查看主节点状态:

SENTINEL masters

7. 总结

在本指南中,我们完成了Windows上的Redis和哨兵的本地部署。我们通过多个步骤配置了主节点和从节点,并配置了哨兵来监控主节点的状态。正确的配置可以确保高可用性和故障恢复能力。

通过饼状图,我们可以总结出Redis和哨兵的组成部分:

pie
    title Redis及哨兵架构组成
    "主节点": 50
    "从节点": 30
    "哨兵": 20

通过类图,我们可以展示Redis和哨兵的关系:

classDiagram
    class Redis {
        +start()
        +stop()
    }
    class Sentinel {
        +monitor()
        +failover()
    }
    Redis <|-- Sentinel: monitors

希望这篇文章对你理解和实现Redis在Windows上的哨兵部署有帮助!如果有任何问题,请随时问我。