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

相关推荐
木易士心9 分钟前
MyBatis数据源切换全面解析
数据库
新中地GIS开发老师17 分钟前
地信职业百科④:GIS开发工程师
前端·数据库·gis·webgis·三维gis开发
云和恩墨25 分钟前
从“第二存储”到多智能体协作,云和恩墨充实数据基础设施产品矩阵
数据库
ClouGence32 分钟前
SAP HANA 到 Doris 数据迁移:4 种方案对比与迁移教程
数据库·后端·dba
霸道流氓气质33 分钟前
ApiPost 中配置自动获取 Token 并调用业务接口完整指南
java·服务器·数据库
我不想名字重复36 分钟前
redis缓存和数据库数据保持一致
数据库·redis·缓存
时空无限1 小时前
vllm 大模型启动缓存相关环境变量 export
linux·缓存·vllm
宇宙第一小趴菜1 小时前
三、Oracle 核心原理
数据库·oracle
码出钞能力2 小时前
apache-shardingsphere-5.5.3自定义分片算法
数据库
兜有米啦2 小时前
数据库第二次作业
数据库