Redis进阶 - 精简版

---

Redis哨兵(Sentinel)

什么是哨兵

哨兵(Sentinel)是一个独立的进程,用于监控Redis主从节点的状态。当主节点宕机时,哨兵会自动将从节点切换为主节点,实现故障转移。

哨兵的作用

故障转移流程

1. 主观下线(SDOWN):单个哨兵检测到主节点不可用 2. 客观下线(ODOWN):多数哨兵确认主节点故障 3. 选举Leader哨兵:投票选出负责执行故障切换的哨兵 4. 执行Failover:选择最优从节点提升为新主节点 5. 通知客户端:广播主节点变更信息

部署一主两从+三哨兵

# 安装Redis
wget https://download.redis.io/releases/redis-8.4.0.tar.gz
tar -zxvf redis-8.4.0.tar.gz
cd redis-8.4.0
make && make PREFIX=/usr/local/redis install

命令作用:

执行结果:

关键参数:

注意事项:

安装Redis:


**注意事项:**

注意事项:


**命令拆解:**

| 命令部分 | 重要程度 | 详细解释 |
|---|---|---|
| `./redis-server` | 【普通】 | `./redis-server` 是这行命令的主程序,决定这条命令要调用哪个工具。 |
| `../cluster/7000/redis.conf` | 【普通】 | 配置文件路径,命令会读取这个文件里的配置。 |
| `../cluster/7001/redis.conf` | 【普通】 | 配置文件路径,命令会读取这个文件里的配置。 |
| `../cluster/7002/redis.conf` | 【普通】 | 配置文件路径,命令会读取这个文件里的配置。 |

**注意事项:**

命令拆解:

命令部分重要程度详细解释
./redis-cli普通./redis-cli 是这行命令的主程序,决定这条命令要调用哪个工具。

注意事项:

查看集群状态:


**命令拆解:**

| 命令部分 | 重要程度 | 详细解释 |
|---|---|---|
| `./redis-cli` | 【普通】 | `./redis-cli` 是这行命令的主程序,决定这条命令要调用哪个工具。 |
| `-p` | 【核心】 | `-p` 的含义取决于当前命令,不能直接套用 Docker 端口映射解释。 |

**注意事项:**

cluster_state:ok cluster_slots_assigned:16384 cluster_slots_ok:16384 cluster_known_nodes:6 cluster_size:3




---


| 特性 | 哨兵 | 集群 |
|---|---|---|
| 架构 | 1主多从 | 多主多从 |
| 数据分片 | 不支持 | 支持(16384个slot) |
| 水平扩展 | 不支持 | 支持 |
| 最少节点 | 3个 | 6个 |
| 适用场景 | 中小型项目 | 大型项目、高并发 |