Redis主从复制
主从复制过程及原理:
1:当一个从数据库启动时,会向主数据库发送sync命令,
2:主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来
3:当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库。
4:从数据库收到后,会载入快照文件并执行收到的缓存的命令。
redis中一个master可以拥有多个slave,一个slave只能拥有一个master。
在redis主从中,master用来可以用来读写。Slave只能用来读取数据不能插入数据。
Redis主从复制一主多从配置案例:这里用一主三从作为实验环境(因电脑太次这里只用一个虚拟机开启4个redis进行演示redis安装与启动略前面已有介绍:
Master:192.168.1.110 6379
Slave1: 192.168.1.110 6380
Slave2: 192.168.1.110 6381
Slave3: 192.168.1.110 6382
Redis主从复制只需要修改从的redis配置文件即可。
[root@svn ]# mkdir redis_master
[root@svn ]# mkdir redis_slave
[root@svn ]# mkdir /redis_slave600{1..3}
[root@svn ]# mkdir /redis_slave/5999
[root@svn ]# cp /usr/src/redis-3.2.8/redis.conf /redis_master/6379/
[root@svn]# cp /usr/src/redis-3.2.8/redis.conf /redis_slave/6380/
[root@svn ]# cp /usr/src/redis-3.2.8/redis.conf /redis_slave/6381/
[root@svn ]# cp /usr/src/redis-3.2.8/redis.conf /redis_slave/6382/
Redis主从配置方式一
手动修改redis从节点的配置文件
61 bind * //*监听所有网卡
128 daemonize yes //开启守护状态运行
266 slaveof 192.168.1.110 6379 //master节点的ip与端口
所有节点都这样配置,配置完启动所有redis(包括主从),查看redis的info信息找到下面信息表示没有问题。
测试主从是否数据一样
Redis主从设置完成了但如果要实现高可用,当主宕掉了,从服务器顶上来称为主继续工作需要使用到redis中sentnel功能,下一篇就介绍sentinel时配置接使用。