redis主从复制简介

一. Redis主从复制简介

Redis支持将数据同步到多台从库上,这种特性对提高读取性能非常有益。

1) master可以有多个 slave。

2) 除了多个 slave连到相同的 master外, slave 也可以连接其它 slave 形成图状结构。

3) 主从复制不会阻塞 master。 也就是说当一个或多个 slave 与 master 进行初次同步数据

时, master 可以继续处理客户端发来的请求。相反 slave 在初次同步数据时则会阻塞

不能处理客户端的请求。

4) 主从复制可以用来提高系统的可伸缩性,我们可以用多个 slave 专门用于客户端的读

请求,比如 sort操作可以使用 slave 来处理。也可以用来做简单的数据冗余。

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

后只在 slave上配置数据持久化。

二.Redis 主从复制的过程介绍

当设置好 slave服务器后, slave会建立和 master的连接,然后发送 sync命令。无论是

第一次同步建立的连接还是连接断开后的重新连接, master都会启动一个后台进程, 将数据

库快照保存到文件中,同时 master主进程会开始收集新的写命令并缓存起来。后台进程完

成写文件后, master就发送文件给 slave, slave将文件保存到磁盘上,然后加载到内存恢复

数据库快照到 slave上。接着 master就会把缓存的命令转发给 slave。而且后续 master收到

的写命令都会通过开始建立的连接发送给slave。从master到slave的同步数据的命令和从 客

户端发送的命令使用相同的协议格式。当 master和 slave的连接断开时 slave可以自动重新

建立连接。 如果 master同时收到多个 slave发来的同步连接命令, 只会启动一个进程来写数

据库镜像,然后发送给所有 slave。

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

slaveof 192.168.1.1 6379 #指定master的 ip和端口

备注:从服务器是没有写功能,只有读功能。主服务器拥有读写功能

原文发布于微信公众号 - Linyb极客之路(gh_c420b2cf6b47)

原文发表时间:2017-07-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xiaoxi666的专栏

linux常用命令(不断更新)

9220
来自专栏LanceToBigData

MySQL集群(三)mysql-proxy搭建负载均衡与读写分离

前言 前面学习了主从复制和主主复制,接下来给大家分享一下怎么去使用mysql-proxy这个插件去配置MySQL集群中的负载均衡以及读写分离。 注意:这里比较坑...

46390
来自专栏Ken的杂谈

为克隆后的CentOS虚拟机设置静态IP

CentOS虚拟机克隆后,由于网卡MAC地址等信息跟被克隆的系统一致,但是克隆后的虚拟机网卡其实已经变了,所以CentOS不会采用原来的网卡配置文件。所以克隆后...

47220
来自专栏北京马哥教育

MySQL主从复制架构及原理

一、简介 在实际生产中,数据的重要性不言而喻,因此考虑到数据的重要性比如单点故障导致后端数据库奔溃,或者后端数据库访问压力过大等,mysql数据库做主从非常有必...

37740
来自专栏运维小白

parted分区GPT格式

fdisk分区工具,它的分区格式为MBR,特点是,最多分4个主分区,磁盘大小不能超过2T。 而GPT分区格式,突破了这些限制,它没有主分区、扩展分区、逻辑分区之...

31630
来自专栏数据和云

经典案例:遭遇RMAN-06004,RMAN-20003后

黄廷忠(网名:认真就输) 云和恩墨技术专家 个人博客:http://www.htz.pw/ 故障描述: 最近遇到11.2.0.3 RAC FOR AIX平台在出...

25060
来自专栏流柯技术学院

CentOS7下使用yum安装MariaDB

从CentOS 7开始,使用 MariaDB 替代默认的 MySQL。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许...

29350
来自专栏Python、Flask、Django

MySQL主从服务配置

12230
来自专栏运维技术迷

centos7下卸载python后yum不能使用的恢复方法

手贱!本来是想把python2.7重新安装一下,结果直接remove了。然后使用yum install python的时候发现已经command not fou...

45160
来自专栏CaiRui

Mysql-14-mysql的日志管理

1.简介   日志文件记录着mysql数据库运行期间发生的变化,如:mysql数据库的客户端连接状况、sql语句的执行情况和错误信息等。当数据库遭到意外的损坏时...

22950

扫码关注云+社区

领取腾讯云代金券