Redis的主从复制 cluster - slave

一、什么是主从复制

持久化保证了即使redis服务重启也不会丢失数据,因为redis服务重启后会将硬盘上持久化的数据恢复到内存中,但是当redis服务器的硬盘损坏了可能会导致数据丢失,如果通过redis的主从复制机制就可以避免这种单点故障,如下图:
Redis的主从复制 cluster - slave
说明:
  • 主redis中的数据有两个副本:从redis1和从redis2,即使一台redis服务器宕机其它两台redis服务也可以继续提供服务。
  • 主redis中的数据和从redis上的数据保持实时同步,当主redis写入数据时通过主从复制机制会复制到两个从redis服务上。
  • 只有一个主redis,可以有多个从redis。
  • 主从复制不会阻塞master,在同步数据时,master 可以继续处理client 请求
  • 一个redis可以即是主又是从,如下图:
 Redis的主从复制 cluster - slave

二、主从配置

1、主服务器

无需配置

2、从服务器

修改从redis服务器上的redis.conf文件

slaveof 192.168.100.53 6379

上边的配置说明当前【从redis服务器】所对应的【主redis服务器】的IP是192.168.100.53,端口是6379。
 
测试:
在主服务器上保存一个key,在从服务器上可以直接查看

3、安全

上面的方式使主服务器数据不安全

主服务器配置:
因此可以在主服务器的配置文件中开启密码验证,如下:foobared为密码,可以自定义其他密码
Redis的主从复制 cluster - slave
 修改密码后,操作时会有如下的安全提示:
Redis的主从复制 cluster - slave
在redis命令行中输入正确的密码,即可正常执行操作
Redis的主从复制 cluster - slave
退出命令行:
bin/redis-cli -a 123 shutdown

从服务器配置:
对应主服务器的密码即可,否则无法执行和主服务器的数据同步
Redis的主从复制 cluster - slave