Redis学习-主从复制、哨兵
主从复制
官方文档:https://redis.io/topics/replication
Redis中的主从复制,也就是Master-Slave模型,有以下特点
Master可以拥有多个slave
多个slave不仅可以连接同一个master,还可以连接到其他的slave
主从复制不会阻塞master,在同步数据时,master可以继续处理client请求
提供系统的伸缩性
主从复制过程:
slave与master建立连接,发送sync同步命令
master开启一个后台进程,将数据快照保持到文件中,同时master主进程会开始收集新的写命令并缓存
后台完成保存后,将文件发送给slave
slave将文件保存到硬盘上
主从复制配置:
配置3台redis,1master2slave
使用scp -r redis3.2_1/ sloveip:/复制目录 将主机安装的redis复制到从机
在配置文件修改主机从机的端口号
修改从机的slaveof,改为主机的ip地址 端口号
分别启动这三台redis服务
可以看到主从机都已经启动
由于在同一台机子模拟,所以启动客户端要指定端口号
启动之后,info查看信息,可以看到主从已经成功
查看从机,打印下面信息
在主机写入数据,从机能够读取
哨兵
哨兵能够监控redis系统的运行状况,主要功能有:
监控主数据库和从数据库是否正常运行
主数据库出现故障时,可以自动将从数据库装换为主数据库,实现自动切换
配置(在slave1配置)
复制安装的redis3.2_1文件下的sentinel.conf文件到存放配置文件的文件夹
然后进入sentinel.conf文件,配置目录
配置名称、主节点ip、端口、投票选举次数(1表示有一个从节点认为主节点宕机就认为主节点宕机了)
监控策略
默认30秒超时即为宕机
从节点的个数
启动redis服务
启动哨兵
查看哨兵信息
kill 主节点
info信息
master端口变为了6381
重新启动6380端口,控制台打印
info 信息