Redis主从同步—笔记
2014-03-09 18:12
225 查看
主从同步可以防止主机坏掉导致网站不能正常运作,这种方法即把从机设置为主机即可。 Redis支持主从同步,而且配置很简单。Redis主从同步的优点如下:
Master可以有多个Slave
多个Slave连接到相同Master,Slave还可以连接其他Slave形成图形结构
不会阻塞Master。 当一个或者多个Slave与Master进行初次同步数据时,Master可以继续处理客户端的请求。相反,Slave在初次同步数据时会阻塞从而不能处理客户端的请求
主从同步用来提高系统的伸缩性,比如多个Slave专门用于客户端的读请求
在Master服务器上禁止数据持久化(注释配置文件中所有save配置选项), 只在Slave服务器上进行数据持久化。
1. 同步原理
Redis主从同步设置很简单,设置好Slave服务器后,Slave自动和Master建立连接,发送sync命令。
无论是第一次同步建立的连接还是连接断开后重新建立的连接,Master都启动一个后台进程,将内存数据以快照方式写入文件中,同时Master主进程开始收集新的写命令并且缓存起来。Master后台进程完成内存快照操作后,把数据文件发给Slave,后续Master收到的写命令都通过开始建立的连接发送给Slave。当Master与Slave断开连接,Slave自动重新建立连接。如果Master同时收到多个Slave发来的同步请求,其只启动一个进程写数据库镜像,然后发送给所有Slave。
Redis主从同步过程分两个阶段,第一阶段如下:
Slave服务器主动连接到Master服务器
Slave服务器发送sync命令到Master服务器请求同步
Master服务器备份数据库到rdb文件
Master服务器把rdb文件传输给Slave服务器
Slave服务器清空数据库数据,把rdb文件数据导入数据库中.
完成第一阶段,接下来Master服务器把用户所有更改数据的操作,通过命令的形式转发给所有Slave服务器,Slave服务器只需执行Master服务器发送过来的命令就可以达到同步的效果。
相对于MySQL来说, Redis主从复制配置很简单,只需在Slave服务器配置文件中加入以下配置项
slaveof 192.168.1.1 6379 # 指定Master的IP和端口
Master可以有多个Slave
多个Slave连接到相同Master,Slave还可以连接其他Slave形成图形结构
不会阻塞Master。 当一个或者多个Slave与Master进行初次同步数据时,Master可以继续处理客户端的请求。相反,Slave在初次同步数据时会阻塞从而不能处理客户端的请求
主从同步用来提高系统的伸缩性,比如多个Slave专门用于客户端的读请求
在Master服务器上禁止数据持久化(注释配置文件中所有save配置选项), 只在Slave服务器上进行数据持久化。
1. 同步原理
Redis主从同步设置很简单,设置好Slave服务器后,Slave自动和Master建立连接,发送sync命令。
无论是第一次同步建立的连接还是连接断开后重新建立的连接,Master都启动一个后台进程,将内存数据以快照方式写入文件中,同时Master主进程开始收集新的写命令并且缓存起来。Master后台进程完成内存快照操作后,把数据文件发给Slave,后续Master收到的写命令都通过开始建立的连接发送给Slave。当Master与Slave断开连接,Slave自动重新建立连接。如果Master同时收到多个Slave发来的同步请求,其只启动一个进程写数据库镜像,然后发送给所有Slave。
Redis主从同步过程分两个阶段,第一阶段如下:
Slave服务器主动连接到Master服务器
Slave服务器发送sync命令到Master服务器请求同步
Master服务器备份数据库到rdb文件
Master服务器把rdb文件传输给Slave服务器
Slave服务器清空数据库数据,把rdb文件数据导入数据库中.
完成第一阶段,接下来Master服务器把用户所有更改数据的操作,通过命令的形式转发给所有Slave服务器,Slave服务器只需执行Master服务器发送过来的命令就可以达到同步的效果。
相对于MySQL来说, Redis主从复制配置很简单,只需在Slave服务器配置文件中加入以下配置项
slaveof 192.168.1.1 6379 # 指定Master的IP和端口
相关文章推荐
- 操作系统复习笔记(一)
- OLAP MDX 学习笔记
- Hibernate笔记2--映射对象之间的关系
- DirectSound学习笔记(5):使用WAV数据
- linux 2.6源代码情景分析笔记之内存1
- Android网络连接处理学习笔记
- C#笔记一
- 计算机组成原理笔记(一)
- Android深入浅出学习笔记之多线程及异步处理
- multism 11学习笔记(一)
- Oracle DBA课程系列笔记(3)
- oracle 学习笔记 利用RMAN修复数据文件中的坏块
- IOS笔记Json解析
- 文件操作学习笔记
- python学习笔记(2)序列的通用基本操作
- 算法分析与设计基础 学习笔记 第一章
- 编程珠玑(2)第十三章学习笔记
- Redis笔记(二)主从复制
- [terry笔记]RMAN综合学习之备份
- JAVA基础18天速成学习笔记之第15天