redis主从复制

一、redis支持简单且易用的主从复制(master-slave replication)功能,该功能可让从服务器(slave server)成为主服务器(master server)的精确复制品。redis

二、如下是关于redis复制功能的几个重要方面
1)redis使用异步复制。
2)一个主服务器能够有多个从服务器。
3)不只主服务器能够有从服务器,从服务器也能够有本身的从服务器,多个从服务器之间能够构成一个网状结构
4)复制功能不会阻塞主服务器。
5)复制功能也不会阻塞从服务器。
6)复制功能能够单纯地用于数据冗余(data redundancy),也能够经过让多个从服务器处理只读命令请求来提高扩展性(scalability)。
7)能够经过复制功能来让主服务器免于执行持久化操做。安全

三、相关配置
1)配置一个从服务器很是简单,只要在配置文件中增长如下的这一行就能够了:服务器

  • slaveof 主服务器IP 端口

2)另一种方法是调用slaveof命令,输入主服务器的IP和端口,而后同步就会开始:网络

  • slaveof 主服务器IP 端口

3)启动从服务器,进入客户端,经过info replication命令能够查看redis服务的信息
异步

 

 

 此时看到master_link_status值为down,出现这个问题的缘由有不少。ui

 

  • 首先检查主服务器6379端口有没有对外开放,若是没有须要打开。
  • 还须要编辑一下主服务器的配置文件
  • 默认状况下这个值为yes,是保护模式,若是从机没有密码来访问主机,保护模式会阻止从机访问。先临时改为no
  • 默认是只能这个IP来访问,能够临时注释掉或者改成0.0.0.0对全部IP开放

 

重启主机redis服务。
此时经过命令查看从服务器状态能够发现master_link_status值为upscala

四、从服务器只读
1)从redis2.6开始,从服务器支持只读模式,而且该模式为从服务器的默认模式。
2)只读模式由redis.conf文件中的slave-read-only选项控制,也能够经过CONFIG SET命令来开启或关闭这个模式。(不建议)3d

五、从服务器配置
1)若是主服务器经过requirepass选项设置了密码,那么为了让从服务器的同步操做能够顺利进行,也必须为从服务器进行相应的身份验证设置。
2)config set masterauth <password>或者masterauth <password>server

六、主服务器其余配置
1)从redis2.8开始,为了保证数据的安全性,能够经过配置,让主服务器只在有至少N个当前已链接从服务器的状况下,才执行写命令。
2)用户能够经过配置,指定网络延迟的最大值min-slaves-max-lag,以及执行写操做所需的至少从服务器数量min-slaves-to-write。blog

相关文章
相关标签/搜索