Redis主从复制

Redis的主从复制功能很强大,一个master可以有多个slave,而一个slave又可以有多个slave,如此下去,形成了强大的多级服务器集群架构。下面介绍一下Redis的主从特点。

1.master可以拥有多个slave

2.除了多个slave连到相同的master外,slave还可以连接到其他slave形成图状结构

3.主从复制不会堵塞master。也就是说当一个或多个slave和master进行同步数据的时候,master还可以继续处理client发来的请求;相反,slave在同步开始时,不会处理client发送的请求。

4.主从复制可以用来提高系统的可伸缩性,我们可以用多个slave用于client的读请求,也可以用来做简单的数据冗余处理

5.可以在master禁用数据持久化,只需要注释掉master 配置文件中的所有save配置,然后只在slave上配置数据持久化

下面介绍下主从复制的过程

当设置好slave服务器后,slave会建立和master的连接,然后发送sync命令。无论是第一次同步建立的连接还是连接断开后的重新连 接,master都会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存起来。后台进程完成写文件 后,master就发送文件给slave,slave将文件保存到磁盘上,然后加载到内存恢复数据库快照到slave上。接着master就会把缓存的命 令转发给slave。而且后续master收到的写命令都会通过开始建立的连接发送给slave。从master到slave的同步数据的命令和从 client发送的命令使用相同的协议格式。当master和slave的连接断开时slave可以自动重新建立连接。如果master同时收到多个 slave发来的同步连接命令,只会使用启动一个进程来写数据库镜像,然后发送给所有slave。

下面我演示下怎样在多台服务器上进行Redis数据主从复制。我假设有两台服务器,一台是Linux操作系统(局域网IP:192.168.1.100,master服务器),一台是Linux操作系统(局域网IP:192.168.1.200,slave服务器)

配置slave服务器很简单,只需要在配置文件(redis.conf)中加入如下配置

bind  192.168.1.200(从服务器,此处默认是127.0.0.1,请修改成本机的IP地址,要不然,客户端无法进行访问)

slaveof 192.168.1.100 6379  (映射到主服务器上)

如果是在一台机器上面配置主从关系,那么还需要修改从服务器的默认端口号,同样也在redis.conf中进行修改

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 浅谈Redis主从复制 2013.09.27 11:27:00 来源: 京东 作者:张成远 ( 0 条评论 )...
    epime阅读 579评论 0 2
  • 搭建环境 为了测试Redis主从复制功能,需要在本地启动master和slave两个Redis实例。这里使用doc...
    yingzong阅读 2,643评论 1 5
  • 主从概述 redis 支持 master-slave(主从)模式,redis server 可以设置为另一个 re...
    jiangmo阅读 713评论 0 0
  • redis 主从设置 配饰redis主从备份操作很简单。在master中绑定服务器的ip,再在slave中设置sl...
    我不是李小龙阅读 1,838评论 0 0
  • 概述 一般来说,要将Redis运用于工程项目中,只使用一台Redis是万万不能的,原因如下: 从结构上,单个Red...
    winwill2012阅读 2,000评论 2 14