您的位置:首页 > 数据库 > Redis

redis深入—主从复制

2017-08-31 20:56 344 查看
一:作用

可以把master的数据同步到slave中保存,增强数据安全性。

可以分散来自客户端的读请求,降低master的压力。

二:过程:

1、slave连接master时候,master会执行BGSAVE操作。所以master中须保证已配置dir和dbfilename选项,并且所指路径和文件对于redis是可写的。

2、主从复制的设置方式:

a、在slave的conf中:slaveof   master<ip>  master<port>       ,slave启动时,就会去连接master。

b、如果slave正在运行,用户可以发送指令:slaveof  master<ip>  master<port>  来连接master。   (slaveof  no  one命令终止复制)

3、复制的启动过程:



实际运用中,master最好只使用50%-65%的内存,留下一定的内存用于BGSAVE命令和创建用于记录写命令的缓冲区,否则会影响redis处理命令请求的效率(主从服务器间的网络宽带不足也会影响)。

4、当多个从连接一个主时,可能出现以下之一:



5、主从链:就是slave可以有slave



同时使用AOF和主从复制,可以将数据持久化到多台机器。当然,这得保证需要持久化的服务器上开启了AOF相关配置(appendonly  yes和appendfsync  everysec)。

上面认识了主从复制和主从链,什么情况下使用?

1、读请求的重要性明显高于写,并且请求的数量远远超出一台redis可以处理的范围,这时候需要添加服务器,就可以使用主从复制。

2、master无法快速更新所有slave,或者因重新连接和重新同步slave导致系统超载,可以使用主从链,不要把所有的slave绑定到一台master上。

注:slave其实是可以接受写命令的,修改slave配置文件中的slave-read-only no则可,,slave接受的写操作时不会同步到master的,一般也不会这么做…
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: