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

相关推荐
2501_937860943 小时前
MySQL表的操作:创建、查看、修改、删除完整实战
android·数据库·mysql
奇特認7 小时前
mysql 集群技术 3.高可用之 MHA
数据库·mysql
Bioinfo Guy9 小时前
高分Panel复现系列|转录因子网络太乱?用模块框把重点圈出来
数据库·生物信息学·生信可视化
ltl11 小时前
Disaggregated DB 合集:Socrates、PolarDB、Taurus 的共同模式
数据库
Blossom i13 小时前
大数据预处理与采集实验一:使用Python操作MySQL数据库
数据库·mysql
雾时之林13 小时前
Linux--软件管理、源码包安装
linux·服务器·数据库
thesky12345614 小时前
智能体面试准备(二十六):Agent 成本工程——模型路由、缓存、预算控制与大小模型分工
缓存·llmops·智能体·模型路由·成本工程·预算控制·小模型分工
老纪的技术唠嗑局15 小时前
超级干货分享:中小企业使用 OceanBase 实践经验汇总
数据库
CLOUD ACE15 小时前
谷歌云代理|零售商Target 如何利用 Spanner Graph 提升零售发现体验并将数据库维护成本降低 50%
数据库·零售
AI大模型-小雄16 小时前
Codex写分页接口为什么越翻越慢?用Cursor Pagination解决重复与漏数据
大数据·数据库·elasticsearch·搜索引擎·chatgpt·后端开发·codex