iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Redis实现主从复制方式(Master&Slave)
  • 683
分享到

Redis实现主从复制方式(Master&Slave)

Redis实现主从复制Redis主从复制主从复制Master Slave 2022-06-20 13:06:07 683人浏览 泡泡鱼
摘要

目录主从复制方式(Master&Slave)一、Master&Slave是什么?二、它能干嘛?三、怎么玩?四、复制原理五、哨兵模式(sentinel)六、复制的缺点Redis master, slave节

主从复制方式(Master&Slave)

由于前段时间公司项目比较赶,一直抽不出时间写博客,今天偷空写一篇吧。前面给大家讲解了单机版redis的基本操作,现在继续给大家讲解一下Redis的进阶部分,主从复制和读写分离。

一、Master&Slave是什么?

也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主。

二、它能干嘛?

1、读写分离;

2、容灾恢复。

三、怎么玩?

1、配从(库)不配主(库);

2、从库配置:slaveof [主库IP] [主库端口];

  • 补充:每次slave与master断开后,都需要重新连接,除非你配置进redis.conf文件;
  • 键入info replication 可以查看redis主从信息。

3、修改配置文件细节操作

- 拷贝多个redis.conf文件

Redis实现主从复制方式(Master&Slave)

- 指定端口

Redis实现主从复制方式(Master&Slave)

- 开启daemonize yes

Redis实现主从复制方式(Master&Slave)

- Pid文件名字

Redis实现主从复制方式(Master&Slave)

- Log文件名字

Redis实现主从复制方式(Master&Slave)

- Dump.rdb名字

Redis实现主从复制方式(Master&Slave)

4、常用3招

- 一主二仆

Redis实现主从复制方式(Master&Slave)

一个Master,两个Slave,Slave只能读不能写;当Slave与Master断开后需要重新slave of连接才可建立之前的主从关系;Master挂掉后,Master关系依然存在,Master重启即可恢复。

- 薪火相传

Redis实现主从复制方式(Master&Slave)

上一个Slave可以是下一个Slave的Master,Slave同样可以接收其他slaves的连接和同步请求,那么该slave作为了链条中下一个slave的Master,如此可以有效减轻Master的写压力。如果slave中途变更转向,会清除之前的数据,重新建立最新的。

- 反客为主

当Master挂掉后,Slave可键入命令 slaveof no one使当前redis停止与其他Master redis数据同步,转成Master redis。

四、复制原理

1、Slave启动成功连接到master后会发送一个sync命令;

2、Master接到命令启动后的存盘进程,同时收集所有接收到的用于修改数据集命令,在后台进程执行完毕之后,master 将传送整个数据文件到slave,以完成一次完全同步;

3、全量复制:而slave服务在数据库文件数据后,将其存盘并加载到内存中;

4、增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步;

5、但是只要是重新连接master,一次完全同步(全量复制)将被自动执行。

五、哨兵模式(sentinel)

反客为主的自动版,能够后台监控Master库是否故障,如果故障了根据投票数自动将slave库转换为主库。一组sentinel能同时监控多个Master。

使用步骤:

1、在Master对应redis.conf同目录下新建sentinel.conf文件,名字绝对不能错;

2、配置哨兵,在sentinel.conf文件中填入内容:

  • sentinel monitor 被监控数据库名字(自己起名字) ip port 1
  • 说明:上面最后一个数字1,表示主机挂掉后slave投票看让谁接替成为主机,得票数多少后成为主机。

3、启动哨兵模式:

  • 命令键入:redis-sentinel /myredis/sentinel.conf
  • 注:上述sentinel.conf路径按各自实际情况配置

六、复制的缺点

延时,由于所有的写操作都是在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使得这个问题更加严重。

Redis master, slave节点部署详解

1. 创建两个redis.conf文件, 一主一从

redis_6379.conf
redis_6380.conf

2. master conf 主要配置

bind 127.0.0.1
port 6379
protected-mode yes
daemonize yes
pidfile /var/run/redis_6379.pid
logfile "/Data/apps/redis-3.2.12/logs/redis_6379.log"
dbfilename dump_6379.rdb
dir /Data/apps/redis-3.2.12/workplace
requirepass paopao

3. slave conf 主要配置

bind 127.0.0.1
port 6380
protected-mode yes
daemonize yes
pidfile /var/run/redis_6380.pid
logfile "/Data/apps/redis-3.2.12/logs/redis_6380.log"
dbfilename dump_6380.rdb
dir /Data/apps/redis-3.2.12/workplace
slaveof 127.0.0.1 6379
masterauth paopao

4. 启动主从redis-server进程

redis-server /Data/apps/redis-3.2.12/conf/redis_6379.conf
redis-server /Data/apps/redis-3.2.12/conf/redis_6380.conf

5.其他相关配置

# 当从库同主机失去连接或者复制正在进行,从机库有两种运行方式:
# 1) 如果slave-serve-stale-data设置为yes(默认设置),从库会继续相应客户端的请求
# 2) 如果slave-serve-stale-data是指为no,除去INFO和SLAVOF命令之外的任何请求都会返回一个
#  错误"SYNC with master in progress"
slave-serve-stale-data yes
slave-read-only yes
# 从库会按照一个时间间隔向主库发送PINGs.可以通过repl-ping-slave-period设置这个时间间隔,默认是10秒
repl-ping-slave-period 10
# repl-timeout 设置主库批量数据传输时间或者ping回复时间间隔,默认值是60秒
# 一定要确保repl-timeout大于repl-ping-slave-period
repl-timeout 60
# slave节点磁盘慢, 网速快时, 置为yes, master上的rdb文件将以Socket方式传输, 跳过磁盘存储
repl-diskless-sync no
# 传输前等待秒数, 为了等待更多的slave节点加入
repl-diskless-sync-delay 5
# 传输时,是否禁用tcp nodelay
repl-disable-tcp-nodelay no
# 复制缓冲区大小
repl-backlog-size 1mb
# 复制缓冲区释放周期
repl-backlog-ttl 3600
# 为了sentinal模式, 选举master准备, 数值越小, 优先级越高
slave-priority 100
# require at least 3 slaves with a lag <= 10 seconds use
min-slaves-to-write 3
min-slaves-max-lag 10
# 可覆盖bind, port 配置, 对外ip port
slave-announce-ip 5.5.5.5
slave-announce-port 1234

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文档:

--结束END--

本文标题: Redis实现主从复制方式(Master&Slave)

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

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

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

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

下载Word文档
猜你喜欢
  • Redis实现主从复制方式(Master&Slave)
    目录主从复制方式(Master&Slave)一、Master&Slave是什么?二、它能干嘛?三、怎么玩?四、复制原理五、哨兵模式(sentinel)六、复制的缺点R...
    99+
    2024-04-02
  • redis怎么使用主从复制Master/slave
    本篇内容介绍了“redis怎么使用主从复制Master/slave”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2024-04-02
  • 怎么实现Redis主从复制
    本篇内容介绍了“怎么实现Redis主从复制”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!架构主 192.1...
    99+
    2024-04-02
  • Redis中如何实现主从复制
    Redis中如何实现主从复制,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Redis复制概论数据库复制指的是发生在不同数据库实...
    99+
    2024-04-02
  • Redis中怎么实现主从复制
    今天就跟大家聊聊有关Redis中怎么实现主从复制,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.首先下去官网下载并安装redis若安装成功点击redis-server 如...
    99+
    2023-06-20
  • redis主从复制的实现方法是什么
    本篇内容介绍了“redis主从复制的实现方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 简介这篇文章主要讲述Redis的主从复制...
    99+
    2023-06-05
  • Redis实现主从复制的方法是什么
    本篇内容介绍了“Redis实现主从复制的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Master&Slave是什么?...
    99+
    2023-07-02
  • PHP实现Redis数据库主从复制的方法
    近年来随着Web应用的快速发展,数据库的处理量也越来越大,性能的要求也越来越高,所以分布式数据库的需求也日渐增加。而Redis是一种流行的NoSQL数据库,支持多种分布式方案,其中主从复制是一种常用且实现起来比较简单的分布式方案。本文将介绍...
    99+
    2023-05-15
    PHP redis 主从复制
  • 详解Redis主从复制实践
    目录复制简介服务介绍实现方式1. 服务启动时配置2. 命令行配置3. 配置文件配置4.配置说明效果测试1.主服务器添加数据2.从服务器获取数据实现原理实现策略1.全量复制2.部分复制...
    99+
    2024-04-02
  • 使用Docker怎么实现Redis主从复制
    今天就跟大家聊聊有关使用Docker怎么实现Redis主从复制,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。安装docker的命令如下所示curl -sSL ht...
    99+
    2023-06-14
  • PHP实现Redis主从复制自动切换的方法
    Redis是一款非常流行的键值对存储数据库,在现代Web应用中扮演着至关重要的角色。为了保证Redis的高可用性和稳定性,通常需要使用主从复制的技术。同时,由于主节点故障时需要自动切换到备用节点,使得复制集群具有自我修复的能力。下面介绍PH...
    99+
    2023-05-16
    PHP Redis 主从复制
  • MySQL主从复制的实现方法
    这篇文章给大家分享的是有关MySQL主从复制的实现方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。          &nbs...
    99+
    2024-04-02
  • redis 主从哨兵模式实现一主二从
    目录一、环境二、安装三、配置3.1、配置redis.config文件3.2、配置sentinel.config文件一、环境 操作系统:centos7.6/Mac OSredis版本:...
    99+
    2024-04-02
  • MYSQL主从复制的搭建方式
    本篇内容主要讲解“MYSQL主从复制的搭建方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MYSQL主从复制的搭建方式”吧!前言:MYSQL的主从复制的原理跟...
    99+
    2024-04-02
  • 怎么在Redis中实现持久化与主从复制
    这篇文章给大家介绍怎么在Redis中实现持久化与主从复制,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。为什么需要持久化Redis是基于内存的NoSQL数据库,读写速度自然快,但内存是瞬时的,在redis服务关闭或重启之...
    99+
    2023-06-14
  • Redis持久化与主从复制的实践
    为什么需要持久化 Redis是基于内存的NoSQL数据库,读写速度自然快,但内存是瞬时的,在redis服务关闭或重启之后,redis存放在内存的数据就会丢失,为了解决这个问题,red...
    99+
    2024-04-02
  • 如何使用PHP实现Redis数据库主从复制
    这篇文章主要介绍“如何使用PHP实现Redis数据库主从复制”,在日常操作中,相信很多人在如何使用PHP实现Redis数据库主从复制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用PHP实现Redis数...
    99+
    2023-07-06
  • redis主从哨兵模式怎么实现一主二从
    这篇文章主要介绍“redis主从哨兵模式怎么实现一主二从”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“redis主从哨兵模式怎么实现一主二从”文章能帮助大家解决问题。一、环境操作系统:centos7...
    99+
    2023-07-02
  • Mysql8.0轻松实现主从复制
    目录主库配置从库配置主库配置 1、修改配置文件 /etc/my.cnf #mysql 服务ID,保证整个集群环境中唯一,取值范围:1 – 232-1,默认为1 server-id=1 #是否只读,1 代表只读, 0 代表...
    99+
    2024-04-02
  • Redis多实例及主从复制环境搭建
    一、redis主从复制原理 和MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作