是什么
主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,slave以读为主
一主三从
主服务器负责写操作,从服务器负责读操作。
当一台从服务器挂掉之后,其他从服务器可以继续提供服务。
主从复制过程
主服务器主动进行
每次主服务器进行写操作之后,会和从服务器进行数据同步
从服务器主动进行
当一台从服务器挂掉之后再次连接时,从服务器向主服务器发送进行数据同步的消息
主服务器接送到从服务器发送过来的同步消息后,把主服务器数据进行持久化,把rdb文件发送到从服务器,从服务器拿到rdb文件进行读取,最终完成复制
优势
- 读写分离,性能提高
- 容灾快速恢复
复制原理
- slave启动成功连接到master后会发送一个sync命令
- master街道命令启动后台的存盘进程,同时手机所有接收到的用于修改数据集命令,在后台执行完毕后,master将整个数据文件传到slave,完成一次完全同步
- 全量复制:slave服务在接收到数据库文件数据后,将其存盘并加载到内存中
- 增量复制:master继续讲新的所有收集到的修改命令依次传给slave,完成同步
- 但是只要是重新连接master,一次完全同步(全量复制)将被自动执行
主从的搭建
一主两从的搭建
1.创建/myredis文件夹
2.复制redis.conf配置文件到文件夹中
3.在一台服务器上用三个不同的端口
首先先复制三分redis.conf文件
redis6379.conf
redis6380.conf
最后一行在主服务器有密码时设置
redis6381.conf
在设置时最好关闭aof
启动三台redis服务器
打开三个窗分别进入三个客户端
slaveof 127.0.0.1 6379
利用该命令将当前redis服务器作为目标服务器的从服务器
建立联系后利用 info replication查看状态
此时表示已建立连接