文档章节

redis学习笔记---redis主从复制

ivan-Zhao
 ivan-Zhao
发布于 2015/12/14 14:49
字数 952
阅读 179
收藏 16
    一、介绍
    redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。
    通过redis的主从复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力,主服务器主要负责写操作,从服务器主要负责读操作
    主从复制的过程:
    1:当一个从数据库启动时,会向主数据库发送sync命令,
    2:主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来
    3:当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库。
    4:从数据库收到后,会载入快照文件并执行收到的缓存的命令。
    注意:redis2.8之前的版本:当主从数据库同步的时候从数据库因为网络原因断开重连后会重新执行上述操作,不支持断点续传。redis2.8之后支持断点续传
    注意:从 Redis 2.8 开始, 为了保证数据的安全性, 可以通过配置min-slaves-to-write, 让一个主节点在至少有N个从节点的情况下才能执行写操作。从节点以每秒一次的频率ping主节点,主节点会记录各个从服务器最后一次向它发送ping的时间。用户可以通过配置, 指定网络延迟的最大值 min-slaves-max-lag以及执行写操作所需的最少从服务器数量 min-slaves-to-write
    min-slaves-to-write 3
    min-slaves-max-lag 10
    如果至少有 min-slaves-to-write 个从服务器, 并且这些服务器的延迟值都少于 min-slaves-max-lag 秒, 那么主服务器才会执行客户端请求的写操作。只要有一个条件不满足,写操作就不会执行,主服务器会向请求执行写操作的客户端返回一个错误。
    二、主从复制的部署:
    Redis主从结构支持一主多从
 
主节点:192.168.1.170
从节点:192.168.1.171
注意:所有从节点的配置都一样
 
方式1:手动修改配置文件
 
只需要额外修改从节点中redis的配置文件中的slaveof属性即可
slaveof 192.168.1.170 6379
启动170主节点上面的redis,查看redis的info信息(执行info命令 )




启动171从节点上面的redis


,查看redis的info信息
 
方式2:动态设置
通过redis-cli 连接到从节点服务器,执行下面命令即可。
slaveof 192.168.1.170 6379
 
            
    三、主从复制需要注意的问题:
   ① 如果你使用主从复制,那么要确保你的master激活了持久化,或者确保它不会在当掉后自动重启。slave是master的完整备份,因此如果master通过一个空数据集重启,slave也会被清掉。
    ②在配置redis复制功能的时候如果主数据库设置了密码,需要在从数据的配置文件中通过masterauth参数设置主数据库的密码,这样从数据库在连接主数据库时就会自动使用auth命令认证了。相当于做了一个免密码登录。


 
 

© 著作权归作者所有

ivan-Zhao
粉丝 10
博文 33
码字总数 29110
作品 0
深圳
程序员
私信 提问
加载中

评论(1)

一个yuanbeth
一个yuanbeth
好厉害79
Redis学习笔记(10)——主从复制

一、什么是Redis主从复制 主从复制,当用户往Master端写入数据时,通过Redis Sync机制将数据文件发送至Slave,Slave也会执行相同的操作确保数据一致;且实现Redis的主从复制非常简单。 二、R...

IT特种兵
2015/02/28
123
0
Redis学习笔记五:redis的高级实用特性讲解

一、Redis高级实用特性 1.安全性 设置客户端连接后进行任何其他指定前需要使用的密码。 警告:因为redis速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒钟进行150K次的密...

孟飞阳
2016/07/04
1K
4
小蚂蚁学习Redis笔记(9)——Redis重要特性——安全性、主从复制

Redis的重要特性 安全性 主从复制 事务处理 持久化机制 发布订阅消息 虚拟内存使用 1. 安全性 安全性:主要是说设置客户端连接后进行任何其他命令前需要使用的密码。 警告:因为Redis非常的快...

嗜学如命的小蚂蚁
2015/11/18
96
0
Redis主从复制看这篇就够了

什么是主从复制 持久化保证了即使 redis 服务重启也会丢失数据,因为 redis 服务重启后会将硬盘上持久化的数据恢复到内存中,但是当 redis 服务器的硬盘损坏了可能会导致数据丢失,如果通过 ...

Java大蜗牛
2018/09/05
10
0
Redis进阶实践之十 Redis主从复制的集群模式

Redis进阶实践之十 Redis主从复制的集群模式 一、引言 Redis的基本数据类型,高级特性,与Lua脚本的整合等相关知识点都学完了,说是学完了,只是完成了当前的学习计划,在以后的时间还需继续...

morpheusWB
2018/09/13
76
0

没有更多内容

加载失败,请刷新页面

加载更多

The server time zone value 'EDT' is unrecognized or represents more than one time zone.

2019-10-14 18:07:43.714 ERROR 74363 --- [Druid-ConnectionPool-Create-1855026648] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:mysql://10.30......

yizhichao
23分钟前
7
0
html加载顺序以及影响页面二次渲染额的因素

本文转载于:专业的前端网站➱html加载顺序以及影响页面二次渲染额的因素 浏览器请求发往服务器以后,返回HTML页面,页面内容开始渲染,具体的执行顺序为: 1. 浏览器开始载入html代码,发现<...

前端老手
25分钟前
7
0
BeginnersBook JSP、JSTL、Servlet 教程

来源:ApacheCN BeginnersBook 翻译项目 译者:飞龙 协议:CC BY-NC-SA 4.0 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并...

ApacheCN_飞龙
37分钟前
5
0
Handler和内部类的正确用法

PS:本文摘抄自《Android高级进阶》,仅供学习使用   Android代码中涉及线程间通信的地方经常会使用Handler,典型的代码结构如下。 1 2 3 4 5 6 7 8 9 public class HandlerActivity exten...

shzwork
38分钟前
7
0
centos 7 安装mysql5.6rpm格式

centos 7 安装mysql5.6rpm格式 1查看是否安装了mysql rpm -qa|grep -i mysql 如果安装了请卸载:rpm -e --nodeps MySQL... 2、没有安装则进行如下操作 下载mysql rpm tar包 https://dev.mysq...

Archer99
38分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部