Redis学习笔记10--Redis主从复制
redis主从复制配置和使用都非常简单。通过主从复制可以允许多个slave server拥有和master server相同的数据库副本。下面是关于redis主从复制的一些特点:
1.master可以有多个slave
2.除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构
3.主从复制不会阻塞master。也就是说当一个或多个slave与master进行初次同步数据时,master可以继续处理client发来的请求。相反slave在初次同步数据时则会阻塞不能处理client的请求。
4.主从复制可以用来提高系统的可伸缩性,我们可以用多个slave专门用于client的读请求,比如sort操作可以使用slave来处理。也可以用来做简单的数据冗余
5.可以在master禁用数据持久化,只需要注释掉master配置文件中的所有save配置,然后只在slave上配置数据持久化。
主从复制的过程:
当设置好slave服务器后,slave会建立和master的连接,然后发送sync命令。无论是第一次同步建立的连接还是连接断开后的重新连接,master都会启动(fork)一个后台进程,将数据库快照保存到文件中(fork一个进程入内在也被复制了,即内存会是原来的两倍),同时master主进程会开始收集新的写命令并缓存起来。后台进程完成写文件后,master就发送文件给slave,slave将文件保存到磁盘上,然后加载到内存恢复数据库快照到slave上。接着master就会把缓存的命令转发给slave。而且后续master收到的写命令都会通过开始建立的连接发送给slave。从master到slave的同步数据的命令和从client发送的命令使用相同的协议格式。当master和slave的连接断开时slave可以自动重新建立连接。如果master同时收到多个 slave发来的同步连接命令,只会使用启动一个进程来写数据库镜像,然后发送给所有slave。
配置slave服务器只需要在配置文件中加入如下配置:
slaveof 192.168.1.1 6379 #指定master的ip和端口 |
最新文章
- [Java IO]03_字符流
- docker设置并运行部分命令及原文
- Django 中 如何使用 settings.py 中的常量
- ziparchiver添加后编译出错
- C#中使用DES和AES加密解密
- 修改ECSHOP,支持图片云存储化(分离到专用图片服务器)
- codeblocks快捷键(转载)
- Windows 10正式版密钥大全,Win10激活序列号KEY大全
- MCC460MNC08
- 进程间通信系列 之 命名管道FIFO及其应用实例
- linux 文件名称前后缀操作函数----取目录函数dir、取文件名称函数notdir、取后缀函数suffix、取前缀basename、加后缀函数addsuffix、加前缀addprefix、连接函数join
- Android应用程序支持不同屏幕(尺寸、密度)
- Mysql与Postgresql
- 安装Feflow遇取的问题
- GIT 版本管理-github&;码云
- 关于php
- Android FileUtils 文件操作类
- ECMAScript 6 入门之变量的解构赋值
- 监测多个textFiled.text的长度同时不小于0
- 洛谷P3935 Calculating(整除分块)
热门文章
- 【Luogu P4149】[IOI2011]Race(点分治)
- 【转】MPU6050的数据获取、分析与处理
- EOJ #276
- HDU 4280 ISAP+BFS 最大流 模板
- JVM总结(一):概述--JVM对象探秘
- 初学Python-搞了一个linux用户登录监测小工具
- git clone错误 fatal: early EOF fatal: index-pack failed
- [软件]在浏览器里添加MarkDown Here(插件)
- 深入浅出js事件
- python2.7中MySQLdb的安装与使用详解