我的博客主页:笔头博客
什么是Redis 主从
redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。
主从模式可以用于读写分离,就像Mysql一样,提高服务器负载能力。
主从过程
91.jpg- 从数据库启动时,向主服务器发送 sync 命令
- 主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来
- 当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库
- 从数据库收到后,会载入快照文件并执行收到的缓存的命令
redis2.8之前的版本:当主从数据库同步的时候从数据库因为网络原因断开重连后会重新执行上述操作,不支持断点续传,之后版本可以
配置主从
主服务器
修改配置文件将bind 设置注释 或 设置为从服务器ip
因为默认情况下主服务器 bind 设置为 127.0.0.1 即只能本机访问,此时从服务器无法连接主服务器
log:
8138:S 09 Mar 13:40:46.628 * MASTER <-> SLAVE sync started
8138:S 09 Mar 13:40:46.748 # Error condition on socket for SYNC: Connection refused
从服务器
方法一:手动设置
修改配置文件
slaveof <masterip> <masterport>
# masterip:主服务器IP
# masterport: 主服务器Redis 端口
方法二:
连接redis
执行命令
redis-cli
slaveof 主服务器IP 主服务器Redis 端口
设置完成后重启主从服务器
使用命令 info replication 查看状态
info replication
网友评论