redis主从同步redis
原理数据库
1 在开启主从复制的时候,使用的是RDB方式的,同步主从数据的
二、同步开始以后,经过主库命令传播的方式,主动的复制方式实现
三、2.8之后实现PSYNC的机制,实现断线重连vim
主redis配置信息服务器
vim redis-6379.conf测试
port 6379 daemonize yes pidfile /data/6379/redis.pid loglevel notice logfile "/data/6379/redis.log" dir /data/6379 protected-mode yes dbfilename dbmp.rdb save 900 1 save 300 10 save 60 10000
俩从配置信息, redis-6380.conf 和redis-6381.conf 信息同样,除了port不同code
vim redis-6380.confserver
port 6380 daemonize yes pidfile /data/6380/redis.pid loglevel notice logfile "/data/6380/redis.log" dir /data/6380 protected-mode yes dbfilename dbmp.rdb save 900 1 save 300 10 save 60 10000 slaveof 127.0.0.1 6379
启动三个数据库,blog
redis-server /data/6380/redis.conf redis-server /data/6381/redis.conf redis-server /data/6382/redis.conf
启动三个数据库的实例,查看主从同步关系进程
redis-cli -p 6379 info replication redis-cli -p 6380 info replication redis-cli -p 6381 info replication
测试写入数据,主库写入数据,检查从库数据get
主 127.0.0.1:6379> set name chaoge 从 127.0.0.1:6381>get name
模拟主库宕机,而后手动进行主从复制故障切换
# 查看主库进程 ps -ef |grep redis 杀死主库进程 kill -p 主库进程号
检查从库信息
redis-cli -p 6380 info replication redis-cli -p 6381 info replication
关闭6380从库身份
127.0.0.1:6380>slaveof no one
给6381新的主人身份
127.0.0.1:6381> SLAVEOF no one 127.0.0.1:6381> SLAVEOF 127.0.0.1 6381
检查6380和6381的主从信息
还得修改配置文件,永久生效还得修改配置文件,永久生效还得修改配置文件,永久生效