Redis 主从复制是一种数据同步机制,主节点(Master)将数据复制到一个或多个从节点(Slave),从
而实现数据备份、读写分离和高可用性。
1、解决我们的日常一个单机故障,而衍生出来 主从架构
2、高并发所有请求都会发送我们单台redis,如果我redis承受就会宕机或者阻塞
3、组从:主机一般来说的我们master(读写都可以),slave(只读)
配置步骤
1. 安装 Redis
在 CentOS 上安装 Redis:
sudo yum install epel-release
sudo yum install redis
sudo systemctl start redis
sudo systemctl enable redis
sudo systemctl status redis
2. 配置主节点(Master)
默认情况下,Redis 启动后是主节点。如果需要明确配置,可以在 /etc/redis.conf 中设置:
bind 0.0.0.0 # 允许所有 IP 访问
port 6379 # 默认端口
requirepass masterpassword # 设置主节点密码
3. 配置从节点(Slave)
在从节点的 redis.conf 中,添加以下配置:
bind 0.0.0.0 # 允许所有 IP 访问
port 6380 # 从节点端口
slaveof <master-ip> 6379 # 指定主节点 IP 和端口
requirepass masterpassword # 主节点密码
4. 启动 Redis 服务
分别在主节点和从节点上启动 Redis:
sudo systemctl restart redis
5. 验证主从复制
在主节点上写入数据:
redis-cli -h <master-ip> -p 6379
AUTH <密码>
SET key1 "value1"
在从节点上读取数据:
redis-cli -h <slave-ip> -p 6380
GET key1
如果返回"value1",说明主从复制配置成功。
主从复制相关命令
1. INFO replication
功能:查看主从复制状态。
示例:
redis-cli INFO replication
2. SLAVEOF no one
功能:将从节点提升为主节点。
示例:
redis-cli SLAVEOF no one
主从复制应用场景
1. 数据备份:从节点作为主节点的数据副本,防止数据丢失。
2. 读写分离:主节点处理写请求,从节点处理读请求,提高性能。
3. 高可用性:主节点故障时,从节点可以接管服务。