redis主从同步
### 主从同步
`https://www.cnblogs.com/pyyu/p/10012904.html`

redis的主从同步功能
1.redis支持多实例的功能,通过配置文件生效,多实例的概念
写多个配置文件,指定文件启动,端口区分数据库,就是多实例了...

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