Redis 7.X 部署指南之单机、主从、哨兵和集群部署

 更新时间:2026年01月19日 15:48:34   作者:alonewolf_99  
Redis提供了四种常见部署模式,单机部署、主从部署、哨兵部署和集群部署,本文详细介绍了每种部署方式的安装、配置与操作,并提供了配置文件与命令汇总,以及部署建议与注意事项,感兴趣的朋友跟随小编一起看看吧

一、Redis简介与部署方式概览

Redis是一款高性能的键值存储系统,支持多种数据结构,常用于缓存、消息队列、分布式锁等场景。根据不同的可用性、扩展性与性能需求,Redis提供了四种常见部署模式:

  • 单机部署:适合开发、测试环境,简单快捷。
  • 主从部署:实现数据冗余与读写分离,提升读取性能。
  • 哨兵部署:在主从基础上实现自动故障转移,提高可用性。
  • 集群部署:支持数据分片与高可用,适合大规模、高并发场景。

下面将逐步讲解每种部署方式的安装、配置与操作。

二、环境准备(通用步骤)

2.1 系统要求

  • Linux系统(CentOS 7+ / Ubuntu 18.04+)
  • GCC环境(Redis由C编写)
  • 网络互通(集群、主从需互通)

2.2 安装GCC

# 检查gcc是否安装
gcc --version
# 安装gcc
yum install gcc -y        # CentOS
apt install gcc -y        # Ubuntu

2.3 关闭防火墙(测试环境建议)

systemctl stop firewalld.service
systemctl disable firewalld
# 或使用firewall-cmd放行相应端口

三、单机部署

3.1 下载与编译

mkdir -p /opt/software/redis
cd /opt/software/redis
wget https://download.redis.io/redis-stable.tar.gz
tar -xzf redis-stable.tar.gz
cd redis-stable
make install

3.2 检查安装

ll /usr/local/bin/redis-*

应看到以下关键文件:

  • redis-server:服务端
  • redis-cli:客户端
  • redis-sentinel:哨兵
  • redis-benchmark:性能测试工具

3.3 配置与启动

编辑 redis.conf

vim redis.conf

关键修改:

bind * -::*                     # 允许所有IP连接
protected-mode no               # 关闭保护模式
daemonize yes                   # 后台运行
logfile /opt/software/redis/redis-stable/redis.log
dir /opt/software/redis
requirepass 1qaz@WSX            # 设置密码(可选)

启动服务:

redis-server redis.conf
redis-cli -a 1qaz@WSX           # 带密码连接

3.4 常用命令

keys *                          # 查看所有键
auth 密码                        # 认证
quit                            # 退出
redis-cli shutdown             # 关闭服务

四、主从部署(Master-Slave)

4.1 架构说明

  • 一主多从,数据单向同步
  • 主节点可写,从节点只读
  • 故障时需人工切换主节点

4.2 配置从节点

在从节点的 redis.conf 中添加:

replicaof 192.168.75.129 6379   # 主节点IP与端口
masterauth 1qaz@WSX             # 如果主节点有密码

4.3 查看主从信息

在主节点执行:

redis-cli -a 1qaz@WSX info replication

输出中应看到 connected_slaves 数量及从节点信息。

五、哨兵部署(Sentinel)

5.1 哨兵作用

  • 监控主从节点状态
  • 自动故障转移
  • 通知客户端新主节点地址

5.2 哨兵配置

编辑 sentinel.conf

protected-mode no
port 26379
daemonize yes
logfile /opt/software/redis/redis-stable/sentinel.log
dir /opt/software/redis
sentinel monitor mymaster 192.168.75.129 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 180000

5.3 启动哨兵

redis-sentinel sentinel.conf

5.4 查看哨兵状态

redis-cli -p 26379 info sentinel

5.5 故障模拟与恢复

  • 停止主节点
  • 观察哨兵日志,查看新主节点选举
  • 重启原主节点,观察是否变为从节点

六、集群部署(Cluster)

6.1 集群特点

  • 数据分片(16384个哈希槽)
  • 自动故障转移
  • 支持水平扩展

6.2 集群配置(三主三从示例)

每台机器配置两个节点(6379主,6380从)。

配置文件示例 redis_6379.conf

bind * -::*
protected-mode no
port 6379
daemonize yes
cluster-enabled yes
cluster-node-timeout 5000
dir /opt/software/redis/cluster
appendonly yes
logfile "/opt/software/redis/redis-stable/cluster/redis6379.log"
cluster-config-file nodes-6379.conf

6.3 启动所有节点并创建集群

# 启动节点
redis-server ./cluster/redis_6379.conf
redis-server ./cluster/redis_6380.conf
# 创建集群
redis-cli --cluster create \
  --cluster-replicas 1 \
  192.168.75.129:6379 192.168.75.129:6380 \
  192.168.75.131:6379 192.168.75.131:6380 \
  192.168.75.132:6379 192.168.75.132:6380

6.4 集群常用命令

redis-cli cluster info           # 集群信息
redis-cli cluster nodes         # 节点列表
redis-cli -c                    # 开启集群模式连接

6.5 故障转移测试

停止某一主节点,观察其从节点是否自动提升为主节点,并重新加入集群。

七、配置文件与命令汇总

7.1 核心配置文件路径

  • 单机/主从:/opt/software/redis/redis-stable/redis.conf
  • 哨兵:/opt/software/redis/redis-stable/sentinel.conf
  • 集群:/opt/software/redis/redis-stable/cluster/redis_{port}.conf

7.2 常用命令速查

# 服务管理
redis-server xxx.conf
redis-cli shutdown
ps aux | grep redis
# 集群操作
redis-cli --cluster create ...
redis-cli cluster nodes
redis-cli -c
# 数据操作
keys *
set/get/del
auth 密码
info replication

八、部署建议与注意事项

部署方式适用场景优点缺点
单机开发、测试简单快捷无高可用,性能受限
主从读多写少,数据备份读写分离,数据冗余故障需人工干预
哨兵高可用,自动故障转移自动切换,客户端透明配置复杂,数据可能丢失
集群大数据量,高并发,高可用数据分片,水平扩展部署复杂,运维成本高

8.1 安全建议

  • 生产环境务必设置密码
  • 使用防火墙限制访问IP
  • 定期备份RDB/AOF文件

8.2 性能调优建议

  • 根据内存使用情况选择合适的持久化方式
  • 合理设置 maxmemory 和淘汰策略
  • 监控慢查询与内存碎片

九、总结

Redis的部署方式多样,选择适合业务场景的方案至关重要:

  • 学习和开发可用单机
  • 小型项目可用主从+哨兵
  • 中大型高并发系统推荐集群

到此这篇关于Redis 7.X 部署指南:单机、主从、哨兵、集群的文章就介绍到这了,更多相关Redis单机、主从、哨兵、集群内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • redis主从切换导致的数据丢失与陷入只读状态故障解决方案

    redis主从切换导致的数据丢失与陷入只读状态故障解决方案

    这篇文章主要介绍了redis主从切换导致的数据丢失与陷入只读状态故障解决方案的相关资料,需要的朋友可以参考下
    2023-05-05
  • Redis全量复制与部分复制示例详解

    Redis全量复制与部分复制示例详解

    这篇文章主要给大家介绍了关于Redis全量复制与部分复制的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Redis爬虫具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • Spark删除redis千万级别set集合数据实现分析

    Spark删除redis千万级别set集合数据实现分析

    这篇文章主要为大家介绍了Spark删除redis千万级别set集合数据实现过程分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 解决redis sentinel 频繁主备切换的问题

    解决redis sentinel 频繁主备切换的问题

    这篇文章主要介绍了解决redis sentinel 频繁主备切换的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • 利用控制台如何对Redis执行增删改查命令

    利用控制台如何对Redis执行增删改查命令

    这篇文章主要给大家介绍了关于利用控制台如何对Redis执行增删改查命令的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08
  • Redis如何使用乐观锁(CAS)保证数据一致性

    Redis如何使用乐观锁(CAS)保证数据一致性

    本文主要介绍了Redis如何使用乐观锁(CAS)保证数据一致性,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Redis客户端连接远程Redis服务器方式

    Redis客户端连接远程Redis服务器方式

    这篇文章主要介绍了Redis客户端连接远程Redis服务器方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Redis热点Key问题的完整解决方案:

    Redis热点Key问题的完整解决方案:

    热点Key就像双十一爆款商品,1%的Key承担了90%的流量!本文将用电商案例,教你如何智能分流、化解压力,并通过代码示例讲解的非常详细,需要的朋友可以参考下
    2025-08-08
  • redis缓存一致性延时双删代码实现方式

    redis缓存一致性延时双删代码实现方式

    这篇文章主要介绍了redis缓存一致性延时双删代码实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Redis的数据过期清除策略实现

    Redis的数据过期清除策略实现

    Redis实现了数据过期清除策略,本文将深入解析Redis的数据过期清除策略,包括过期键的删除方式、清除策略的选择以及相关配置参数的介绍,感兴趣的可以了解一下
    2024-05-05

最新评论