redis主从同步

### 主从同步 `https://www.cnblogs.com/pyyu/p/10012904.html` ![image.png](https://cos.easydoc.net/97954506/files/l13i64kj.png) redis的主从同步功能 1.redis支持多实例的功能,通过配置文件生效,多实例的概念 写多个配置文件,指定文件启动,端口区分数据库,就是多实例了... ![image.png](https://cos.easydoc.net/97954506/files/l13hrqw5.png) 1、环境: 准备两个或两个以上redis实例 `mkdir /data/638{0..2} #创建6380 6381 6382文件夹` redis-6380.conf 主库 ``` port 6380 daemonize yes pidfile /data/6380/redis.pid loglevel notice logfile "/data/6380/redis.log" dbfilename dump.rdb dir /data/6380 protected-mode no ``` redis-6381.conf 从库1 ``` port 6381 daemonize yes pidfile /data/6381/redis.pid loglevel notice logfile "/data/6381/redis.log" dbfilename dump.rdb dir /data/6381 protected-mode no slaveof 127.0.0.1 6380 ``` redis-6382.conf 从库2 ``` port 6382 daemonize yes pidfile /data/6382/redis.pid loglevel notice logfile "/data/6382/redis.log" dbfilename dump.rdb dir /data/6382 protected-mode no slaveof 127.0.0.1 6380 ``` 启动三个redis实例 ``` redis-server /data/6380/redis.conf redis-server /data/6381/redis.conf redis-server /data/6382/redis.conf ``` 主从规划 ``` 主节点:6380 从节点:6381、6382 ``` ``` 配置主从同步 6381/6382命令行 redis-cli -p 6381 SLAVEOF 127.0.0.1 6380 #指明主的地址 redis-cli -p 6382 SLAVEOF 127.0.0.1 6380 #指明主的地址 ``` 检查主从状态 从库: ``` 127.0.0.1:6382> info replication 127.0.0.1:6381> info replication ``` 主库: ``` 127.0.0.1:6380> info replication ``` #redis的主从复制故障修复 1.手动杀死主库 kill 主库pid 2选择一个从库为新的主库,例如6380是主,6381是从 登录6380数据库,输入 127.0.0.1:6380>slaveof no one OK 去6381从库 127.0.0.1:6380>slaveof no one OK