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

redis基础简介(七)- 主从复制(master & slave)

2017-01-13 14:26 615 查看

简介

redis主从复制配置和使用都非常的简单。通过主从复制可以允许多个 slave 拥有和 master 相同的数据库副本。

redis主从复制的特点:

master可以拥有多个slave

多个 slave 除了可以连接同一个master之外,还可以连接其他slave,当master宕机之后,可以用该slave再次充当master

主从复制不会阻塞master,在同步数据时,master可以继续处理client请求

redis的主从复制能够提高系统的伸缩性

下面是redis主从复制的一般架构设计:



主从复制的过程:

slave 与 master 建立连接,发送sync同步命令

master 会启动一个后台进程,将数据库快照保存到文件中,同时 master 主进程会开始收集新的写命令并缓存

后台完成保存后,将此文件发送给 slave

slave 将此文件保存到硬盘上

主从复制的配置

master服务器的配置,需要指定哪些外部主机能够连接到master主服务器,修改master的配置文件:

bind 0.0.0.0 #允许所有外部主机访问


slave服务器的配置,只需在 slave 的配置文件中加入以下配置:

slaveof 192.168.1.1 6379 #指定要同步的master的主机和端口
masterauth xxxxxx #如果主机加了密码,则指定master服务主机的密码,注意由于redis服务器效率非常高,理论上1s之内能够尝试15万次的密码尝试,为了防止外部暴力破解,需要设置高强度的密码


验证是否设置成功

我们在主数据库上设置一对键值对:

redis 127.0.0.1:6379> set name zhangsan
OK
redis 127.0.0.1:6379>


在从服务器上获取这个键:

redis 127.0.0.1:6379> get name
"zhangsan"
redis 127.0.0.1:6379>


那么如果事先我们对redis主从集群的情况不甚了解,我们是如何区分哪个是主,哪个是从的呢?

别着急,我们只需要使用 info 命令就可以得到主从的信息,比如我们在从库上执行info:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis 主从复制