什么是主从复制
持久化保证了即使 redis 服务重启也会丢失数据,因为 redis 服务重启后会将硬盘上持久化的数据恢复到内存中,但是当 redis 服务器的硬盘损坏了可能会导致数据丢失,如果通过 redis 的主从复制机制就可以避免这种单点故障,如下图:
说明:
-
主 redis 中的数据有两个副本(replication)即从 redis1 和从 redis2,即使一台 redis 服务器宕机其它两台 redis 服务也可以继续提供服务。
-
主 redis 中的数据和从 redis 上的数据保持实时同步,当主 redis 写入数据时通过主从复制机制会复制到两个从 redis 服务上。
-
只有一个主 redis,可以有多个从 redis。
-
主从复制不会阻塞 master,在同步数据时,master 可以继续处理 client 请求。
-
一个 redis 可以即是主又是从,如下图:
-
第一步:环境介绍
linux系统版本: CentOS 7.3 64位
redis版本:redis-5.0.4
服务器:
服务器 | IP | Port | 说明 |
Redis主 | 192.168.6.111 | 6379 | Redis主服务器 |
Redis从 | 192.168.6.112 | 6379 | Redis从服务器 |
第二步:安装
可以参考:
https://blog.csdn.net/lch520baby/article/details/91059632
第三步:配置redis主从复制
1、主redis配置
无需特殊配置
2、从redis配置
修改从 redis 服务器上的 redis.conf 文件
以前的版本是 slaveof <masterip> <masterport>
我使用的是redis 5.0.4
所以是 replicaof <masterip><masterport> 分别代表主节点ip和主节点端口
masterauth 主redis密码
第四步:检查是否配置成功
重启两台服务器,然后在从节点下输入指令: info replication
可以看到role是slave,以及主机ip、端口,状态等信息,即代表配置成功。
master发送命令
在slave端获取
无法在从节点上进行写的操作