Redis 从入门到精通(十三):哨兵与集群

系列导读:本篇将深入讲解 Redis 哨兵和集群,实现高可用和分布式存储。


文章目录

    • 一、哨兵模式
      • [1.1 哨兵架构](#1.1 哨兵架构)
      • [1.2 哨兵配置](#1.2 哨兵配置)
      • [1.3 启动哨兵](#1.3 启动哨兵)
      • [1.4 哨兵命令](#1.4 哨兵命令)
    • 二、集群模式
      • [2.1 集群架构](#2.1 集群架构)
      • [2.2 集群配置](#2.2 集群配置)
      • [2.3 创建集群](#2.3 创建集群)
      • [2.4 集群命令](#2.4 集群命令)
    • 三、架构对比
    • 总结

一、哨兵模式

1.1 哨兵架构

复制代码
┌─────────────────────────────────────────┐
│              Sentinel 集群               │
│    ┌─────────┐ ┌─────────┐ ┌─────────┐  │
│    │Sentinel1│ │Sentinel2│ │Sentinel3│  │
│    └────┬────┘ └────┬────┘ └────┬────┘  │
└─────────┼───────────┼───────────┼───────┘
          │           │           │
          ▼           ▼           ▼
     ┌─────────┐           ┌─────────┐
     │ Master  │ ──复制──► │  Slave  │
     └─────────┘           └─────────┘

哨兵监控主节点,自动故障转移

1.2 哨兵配置

conf 复制代码
# sentinel.conf

port 26379
sentinel monitor mymaster 192.168.1.100 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel auth-pass mymaster password

1.3 启动哨兵

bash 复制代码
redis-sentinel /etc/redis/sentinel.conf

1.4 哨兵命令

bash 复制代码
# 查看主节点信息
SENTINEL master mymaster

# 查看从节点
SENTINEL replicas mymaster

# 查看哨兵列表
SENTINEL sentinels mymaster

# 获取当前主节点
SENTINEL get-master-addr-by-name mymaster

二、集群模式

2.1 集群架构

复制代码
┌─────────────────────────────────────────────────────────────┐
│                    Redis Cluster                            │
│                                                             │
│  ┌─────────┐    ┌─────────┐    ┌─────────┐                 │
│  │ Master1 │    │ Master2 │    │ Master3 │                 │
│  │ 0-5460  │    │5461-10922│   │10923-16383│               │
│  └────┬────┘    └────┬────┘    └────┬────┘                 │
│       │              │              │                       │
│  ┌────▼────┐    ┌────▼────┐    ┌────▼────┐                 │
│  │ Slave1  │    │ Slave2  │    │ Slave3  │                 │
│  └─────────┘    └─────────┘    └─────────┘                 │
└─────────────────────────────────────────────────────────────┘

数据分片存储在多个主节点

2.2 集群配置

conf 复制代码
# redis.conf

cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-require-full-coverage yes

2.3 创建集群

bash 复制代码
# 创建集群(3主3从)
redis-cli --cluster create \
  192.168.1.101:6379 \
  192.168.1.102:6379 \
  192.168.1.103:6379 \
  192.168.1.104:6379 \
  192.168.1.105:6379 \
  192.168.1.106:6379 \
  --cluster-replicas 1

2.4 集群命令

bash 复制代码
# 查看集群信息
CLUSTER INFO

# 查看节点信息
CLUSTER NODES

# 查看槽位分配
CLUSTER SLOTS

三、架构对比

特性 主从复制 哨兵模式 集群模式
数据备份
故障转移
数据分片
水平扩展
配置复杂度

总结

哨兵模式 :监控、故障转移

集群模式 :数据分片、高可用

架构选择:根据业务需求选择

下篇预告Redis 从入门到精通(十四):内存管理与淘汰策略


作者 :刘~浪地球
系列 :Redis 从入门到精通(十三)
更新时间:2026-04-08

相关推荐
这个DBA有点耶1 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G1 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备1 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远1 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
IT大白鼠1 天前
Redis 系列 · 第 01 篇——认知入门:Redis 是什么
redis·nosql
彧azz1 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
2601_962218611 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
全栈弄潮儿²⁰²⁴1 天前
AI Agent 开发实战(30):限流、缓存与成本控制
人工智能·gpt·缓存·agent·限流·agi·成本控制
张洛闻Eren1 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安1 天前
MySQL-触发器
数据库·mysql