广告
返回顶部
首页 > 资讯 > 数据库 >Redis replication主从复制原理及配置
  • 462
分享到

Redis replication主从复制原理及配置

2024-04-02 19:04:59 462人浏览 薄情痞子
摘要

本文主要介绍Redis replication 主从复制原理和配置及基本操作 等 主要参考官方文档: https://redis.io/topics/replication

本文主要介绍Redis replication 主从复制原理和配置及基本操作 等

主要参考官方文档:

https://redis.io/topics/replication  

Http://redisdoc.com/topic/replication.html


一.原理

This system works using three main mechanisms:
系统工作的三个主要机制:    
1. When a master and a slave instances are well-connected, the master keeps the slave updated by sending a stream of commands to the slave, in order to replicate the effects on the dataset happening in the master side due to: client writes, keys expired or evicted, any other action changing the master dataset.
当master和slave实例连接良好时,master通过从slave发送命令流来更新slave


2. When the link between the master and the slave breaks, for network issues or because a timeout is sensed in the master or the slave, the slave reconnects and attempts to proceed with a partial resynchronization: it means that it will try to just obtain the part of the stream of commands it missed during the disconnection.
当master和slave连接中断时,因为网络故障或者感知到master或者slave超时。Slave重连并试图进行重新同步:意味着获取失去连接时丢失的命令流


3. When a partial resynchronization is not possible, the slave will ask for a full resynchronization. This will involve a more complex process in which the master needs to create a snapshot of all its data, send it to the slave, and then continue sending the stream of commands as the dataset changes.
当无法重新部分同步(partial resynchronization)时,slave将要求完全重新同步(full resynchronization)。它将包含一个复杂过程,这过程中master需要为所有数据创建一个快照,发送到slave,再继续对变化的数据发送命令流


数据安全性概念
Redis的持久化存储主要提供两种方式:RDB与AOF

http://redisdoc.com/topic/persistence.html

 
1. RDB(Snapshot)模式

是默认的,即保存某一时刻的数据到硬盘,在下一次触发snapshot前如果服务器crash,在上次snapshot之后修改的数据会丢失。

主要配置redis.conf参数:

save <seconds> <changes>
stop-writes-on-bgsave-error yes
rdbcompression yes
dbfilename dump.rdb
dir ./

参数说明:
save <seconds> <changes>:在X秒内如果key有至少X次改变就触发持久化,例如save 900 1的话就是在900秒如果key有至少1次改变就触发持久化。如果想关闭此功能的话,可以把全部save行都注释或删除或者使用save ""。
stop-writes-on-bgsave-error:在bgsave遇到error的时候是否停止持久化,默认是yes代表是,no代表不是
rdbcompression:是否压缩,默认是yes代表是,no代表不是,如果想节省CPU的话就设为no,但rdb文件会比较大
dbfilename:持久化的文件名字,默认是dump.rdb
dir:持久化的目录名字,默认是redis.conf所在的目录./


2.AOF(append-only file)模式

需要手动开启,开启后以追加的方式默认每秒钟将记录的修改操作保存到硬盘
主要配置redis.conf参数:

appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
dir ./
### 以下rewrite参数,AOF模式以追加方式记录所有写操作命令到硬盘,文件会越来越大,为缓解这种问题,redis使用了BGREWRITEAOF用于删除重复多余的写命令,类似BGSAVE,rewrite的时候会删除旧的AOF文件
###
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
参数说明:
appendonly:是否启动aof,默认是no代表不启用
appendfilename:aof的文件名,默认是appendonly.aof
appendfsync:触发的间隔,默认是everysec代表每秒,还可使用always代表有改变都触发,性能差些但数据最安全,no代表让OS自己决定什么时候执行,性能最好但数据不安全
dir:持久化的目录名字,默认是redis.conf所在的目录./
no-appendfsync-on-rewrite:执行rewrite时appendfsync是否暂停,默认no代表不暂停
auto-aof-rewrite-percentage:aof rewrite触发时机,当前aof文件大小超过上一次rewrite后aof文件的百分比后触发rewrite。如200,即当前的aof文件超过上一次重写后aof文件的2倍时才会再次rewrite
auto-aof-rewrite-min-size aof文件重写最小文件大小,即最开始aof文件必须要达到这个文件时才触发,后面的每次重写就不会根据这个变量了(根据上一次重写完成之后的大小).此变量仅初始化启动redis有效.如果是redis恢复时,则lastSize等于初始aof文件大小.


Replication的数据安全性
在使用redis复制的设置中,强烈建议在主服务器和从服务器中打开持久性。如果不能开启的话,例如由于磁盘速度非常慢而引起的延迟问题,则应避免在重启OS后自动重新启动服务,以免数据丢失。官方对此有做举例说明:
To better understand why masters with persistence turned off configured to auto restart are dangerous, check the following failure mode where data is wiped from the master and all its slaves:
1. We have a setup with node A acting as master, with persistence turned down, and nodes B and C replicating from node A.
2. Node A crashes, however it has some auto-restart system, that restarts the process. However since persistence is turned off, the node restarts with an empty data set.
3. Nodes B and C will replicate from node A, which is empty, so they'll effectively destroy their copy of the data.
您可能感兴趣的文档:

--结束END--

本文标题: Redis replication主从复制原理及配置

本文链接: https://www.lsjlt.com/news/49873.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Redis replication主从复制原理及配置
    本文主要介绍Redis replication 主从复制原理和配置及基本操作 等 主要参考官方文档: https://redis.io/topics/replication ...
    99+
    2022-10-18
  • 浅谈Redis主从复制以及主从复制原理
    目录面临问题解决办法主从复制主从复制的作用主从复制启用面临问题 1. 机器故障。我们部署到一台 Redis 服务器,当发生机器故障时,需要迁移到另外一台服务器并且要保证数据是同步的。...
    99+
    2022-11-12
  • MySQL主从复制的配置及原理
    -----------------------------------------------------------mysql 5.5   环境用的数据库可的多实例----------...
    99+
    2022-10-18
  • MySQL GTID 主从复制的原理及配置
        GTID是一个基于原始mysql服务器生成的一个已经被成功执行的全局事务ID,它由服务器ID以及事务ID组合而成。这个全局事务ID不仅仅在原始服务器器上唯一,在所有存在主从关系 ...
    99+
    2022-10-18
  • MySql主从复制实现原理及配置
    数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能。对于MySQL来说,标准的读写分离是主从模式,一个写节点Master后面跟着多个读节点,读节点的数量取决于系统的压力,通常是1-3个...
    99+
    2022-05-18
    MySql 主从复制
  • Redis--主从复制原理
    前言: 和MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,Red...
    99+
    2022-10-18
  • MySQL 主从复制的原理和配置
    工作原理图: 主从复制的原理: 分为同步复制和异步复制,实际复制架构中大部分为异步复制。 复制的基本过程如下: 1).Slave上面的IO进程连接上Master,并请求从指定日志文件的指...
    99+
    2022-05-26
    MySQL 主从复制 配置
  • MySQL 主从复制及原理
    1.主从复制配置a. 环境:CentOS7.4,IP地址分别是主库:192.168.11.146,从库:192.168.11.238,主库版本应低于或等于从库版本,这里用的都是MySQL 8.0.13b.主...
    99+
    2022-10-18
  • Redis主从复制原理是什么
    Redis主从复制原理是什么?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!一、什么是Redis主从复制?主从复制就是现在有...
    99+
    2022-10-18
  • 配置redis主从复制和sentinel模式
    测试环境:机器:192.168.110.132redis主端口:6379redis从端口:6380redis从端口:6381sentinel端口:26379操作系统版本:CentOS release 6.5...
    99+
    2022-10-18
  • Redis主从复制操作和配置详情
    目录前言一、Redis-server环境变量二、配置集群的Redis.conf三、配置主从服务器四、启动三台Redis服务器前言 环境:Centos7下安装Redis集群,默认已安装好5.0及以上版本,操作包括: Red...
    99+
    2022-09-21
  • Redis教程(九):主从复制配置实例
    一、Redis的Replication: 这里首先需要说明的是,在Redis中配置Master-Slave模式真是太简单了。相信在阅读完这篇Blog之后你也可以轻松做到。这里我们还是先列出一些理论性...
    99+
    2022-06-04
    主从 实例 教程
  • Redis 4.0主从复制配置是怎样的
    本篇文章为大家展示了Redis 4.0主从复制配置是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 Master: &n...
    99+
    2022-10-19
  • 主从复制原理以及实践
    Mysql主从复制原理及配置输入的命令蓝色字体:注释×××背景:重要小标题:蓝底白字1.复制概述Mysql内建的复制功能是构建大型,高性能应用程序的基础。将Mysql的数据分布到多个系统上去,这种分布的机制...
    99+
    2022-10-18
  • MySQL 主从复制原理及搭建
    一.主从复制的工作过程:二.MySQL复制类型基于SQL语句的复制基于行的复制混合复制三.实验环境  OS:CentOS 6.5 x64  master:192.168.0.134&nb...
    99+
    2022-10-18
  • 高性能Mysql主从架构的复制原理及配置示例
    这篇文章主要介绍了高性能Mysql主从架构的复制原理及配置示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1 复制概述Mysql内建的复制...
    99+
    2022-10-18
  • Redis的主从复制是什么,主从复制的原理又是什么?
    redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有...
    99+
    2022-10-18
  • MySQL的主从复制介绍及配置
    1.MySQL主从复制介绍    MySQL数据库支持单向、双向、链式级联、环状等不同业务场景的复制。在复制过程中,一台服务器充当主服务器(Master),接收来自用...
    99+
    2022-10-18
  • redis主从复制的工作原理和复制方式
    这篇文章将为大家详细讲解有关redis主从复制的工作原理和复制方式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Redis的主从复制机制是指可以让从服务器(...
    99+
    2022-10-18
  • mongodb主从复制配置
    主从复制是mongodb最常用的复制方式,这种方式很灵活.可用于备份,故障恢复,读扩展等.最基本的设置方式就是建立一个主节点和一个或多个从节点,每个从节点要知道主节点的地址. 我们用两种方式来实现主从.这里...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作