返回顶部
首页 > 资讯 > 数据库 >Redis主从
  • 762
分享到

Redis主从

Redis主从 2021-12-06 10:12:08 762人浏览 才女
摘要

Redis主从 主从必读事项 通过主从配置可以实现读写分离(从机默认只读) slave首次启动或者重启连接到master时,会导致主库bgsave。这一点可以通过Redis的debug日志看得到 设置主从后,首次部署从库是增量同步的,原本

Redis主从

Redis主从

主从必读事项

  • 通过主从配置可以实现读写分离(从机默认只读)
  • slave首次启动或者重启连接到master时,会导致主库bgsave。这一点可以通过Redis的debug日志看得到
  • 设置主从后,首次部署从库是增量同步的,原本数据将被全部清掉
  • master可以拥有多个slave
  • 多个slave可以连接同一个master外,还可以连接到其他slave
  • 可以在master禁用数据持久化,注释掉master配置文件中的所有save配置,只需在slave上配置数据持久化即可
  • 主从复制不会阻塞master,在同步数据时,master可以继续处理client的请求,这一点可以通过master的日志证明
2966:M 04 Mar 05:29:11.533 # Connection with slave 192.168.56.101:6379 lost.
2966:M 04 Mar 05:29:12.612 * Slave 192.168.56.101:6379 asks for synchronization
2966:M 04 Mar 05:29:12.612 * Partial resynchronization request from 192.168.56.101:6379 accepted. Sending 0 bytes of backlog starting from offset 1.
  • 主从同步原理

配置好slave后,slave会马上master建立连接,slave立即发送sync命令, 而master马上异步同步数据. 不管是第一次连接还是重新连接, master都会启动一个后台进程, 将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存.后台进程完成写文件后, master就发送文件给slave, slave将文件保存到硬盘上, 再加载到内存中, 接着master就会把缓存的命令转发给slave, 后续master将收到的写命令发送给 slave. 如果master同时收到多个slave发来的同步连接命令, master只会启动一个进程来写数据库镜像, 然后发送给所有的slave.

  • 因为redis采用的是异步复制,没有办法避免数据的丢失。但是可以通过配置来做到尽可能的减少丢失
# master最少得有多少个健康的slave存活才能执行写命令 
# 当min-slaves-to-write=1时,slave去维护断开的情况下,主库此时只能读,不能写
# 只有一个从库且要去维护的时候,请先设置 最少写从库的个数为0,再去维护从库
min-slaves-to-write 1
# 延迟小于min-slaves-max-lag秒的slave才认为是健康的slave
# 里的延迟值就是提到的INFO replication命令的lag值。
min-slaves-max-lag 10

主机配置

# 如果主从要跨服务器,需要关闭保护模式,负责无法连接.
# protected-mode yes
protected-mode no
# 如果跨服务器需要设置修改或者关闭IP的监听地址,否则外部无法连接(该IP绑定的意思是只接收来自于该IP地址的请求)
# bind 127.0.0.1
bind 0.0.0.0
# 设置连接密码(非必须,可以不设置)
requirepass redis-passWord

##### 数据持久化设置
#主机也可关闭数据持久化,提高写入的性能,把持久化策略改成这样既可
# save 900 1
# save 300 10
# save 60 10000
save ""

从机配置

命令行设置从库

SLAVEOF host port
# 启动从机,同时为从机指定读取的配置文件,设置主机的地址(主机如果有密码才需要设置masterauth)
redis-server /etc/redis/redis.conf --slaveof 192.168.56.100 6379 --masterauth redis-password
# 也可以通过先启动从机的服务再为从机设置主机地址
root@ubuntu:~# redis-cli 
127.0.0.1:6379> slaveof 192.168.56.100 6379
OK

配置文件设置从库

# 通过修改下面的配置文件设置主机地址和认证密码(主机如果有密码才需要设置masterauth)
# slaveof  
# masterauth 
slaveof 192.168.56.100 6379
masterauth redis-password

##### 数据持久化设置
# 开启aof
# 此选项为aof功能的开关,默认为“no”,可以通过“yes”来开启aof功能  
# 只有在“yes”下,aof重写/文件同步等特性才会生效 
appendonly yes  
# aof 日志文件名
appendfilename redis.aof  
#  每秒记录一次日志,建议everysec
appendfsync everysec  
# 重写过程中是否向日志文件写入,yes 代表rewrite过程中,不向aof文件中追加信息,rewrite结束后再写入,no 代表rewrite执行的同时,也向aof追加信息
no-appendfsync-on-rewrite yes  
# 触发重写文件增长百分比 默认100%
auto-aof-rewrite-percentage 100 
# 触发重写最小aof文件尺寸
auto-aof-rewrite-min-size 64mb  

关闭从机的主从关系

# 在从机中执行该命令可以取消该从机与主机的主从关系
slaveof no one
# 执行案例
127.0.0.1:6379> slaveof no one
OK

查看主从复制情况

  • 命令
# 查看复制情况
info replication
  • 查看主库情况
root@ubuntu:~# redis-cli info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.56.102,port=6379,state=online,offset=2576,lag=1
slave1:ip=192.168.56.101,port=6379,state=online,offset=2576,lag=1
master_replid:aa50063cb231eb77f42074a72739b7dbda163825
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:2576
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:2576
  • 查看从库情况
root@ubuntu:~# redis-cli info replication 
# Replication
role:slave
master_host:192.168.56.100
master_port:6379
master_link_status:up
master_last_io_seconds_aGo:6
master_sync_in_progress:0
slave_repl_offset:280
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:b481fcb52e9f8ffe1e3180f09e0e982ae0b2fcf9
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:280
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:267
repl_backlog_histlen:14
您可能感兴趣的文档:

--结束END--

本文标题: Redis主从

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

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

猜你喜欢
  • Redis主从
    Redis主从 主从必读事项 通过主从配置可以实现读写分离(从机默认只读) slave首次启动或者重启连接到master时,会导致主库bgsave。这一点可以通过Redis的debug日志看得到 设置主从后,首次部署从库是增量同步的,原本...
    99+
    2021-12-06
    Redis主从
  • Redis主从复制
    Redis支持简单易用的主从复制(master-slave replication)功能,该功能可以让从服务器成为主服务器的即使备份服务器。 作用: 主从备份,防止服务器宕机; 读写分离,分担主服务器的任务; 任务分离,从服务器分别担任备...
    99+
    2017-12-16
    Redis主从复制
  • redis 主从复制
    redis 主从复制 master 节点提供数据,也就是写。slave 节点负责读。 不是说master 分支不能读数据,也能只是我们希望将读写进行分离。 slave 是不能写数据的,只能处理读请求 主从实现 客户端 127.0...
    99+
    2017-04-16
    redis 主从复制
  • redis主从配置
    redis的主从配置简直是太简单了,简单到蛋疼啊。主redis的ip:192.168.1.100从redis的ip:192.168.1.101修改从redis的配置文件/etc/redis/redis.co...
    99+
    2024-04-02
  • Redis的主从概念和主从配置
    本篇内容介绍了“Redis的主从概念和主从配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!主从概念⼀个m...
    99+
    2024-04-02
  • NoSQL - redis 备份/主从
    redis持久化 – 两种方式redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)。官方建议:两种方式都打开,同时进...
    99+
    2024-04-02
  • Redis之-主从配置
    集群的作用:1,主从备份 防止主库down机2,读写分离,分担master压力3,任务分离,如从服务器分担备份的工作 大概同步原理:1,slave启动发现需要连接master,那么sync自动同步一下2,m...
    99+
    2024-04-02
  • redis 主从哨兵模式实现一主二从
    目录一、环境二、安装三、配置3.1、配置Redis.config文件3.2、配置sentinel.config文件一、环境 操作系统:Centos7.6/MAC OSredis版本:6.2.5以上版本ssh工具:xshe...
    99+
    2022-07-11
    redis 主从哨兵 redis  一主二从
  • redis 主从哨兵模式实现一主二从
    目录一、环境二、安装三、配置3.1、配置redis.config文件3.2、配置sentinel.config文件一、环境 操作系统:centos7.6/Mac OSredis版本:...
    99+
    2024-04-02
  • redis之master.slave主从复制
    简介 主机数据更新后根据配置和策略,自动同步到备机的master/slave机制,master以写为主,slave以读为主 从库配置 配置从库,不配主库 配置从库: 格式: slaveof 主库ip 主库port ...
    99+
    2020-12-18
    redis之master.slave主从复制
  • NoSQL之redis(主从复制)
    1.redis主从复制的介绍:     持久化保证了即使redis服务器重启也不会丢失数据,因为redis服务器重启后将硬盘上持久化的数据恢复到内存中, 但是当redis服务器的硬盘损坏了可能会导致数据丢失...
    99+
    2024-04-02
  • Redis--主从复制原理
    前言: 和MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,Red...
    99+
    2024-04-02
  • redis主从服务配置
    一、编写目的本文提供了redis主从配置操作指南,供redis运维人员使用。二、操作步骤1.redis主服务不需修改2.Redis从服务修改(1)打开从库的redis.conf文件(路径/usr/local...
    99+
    2024-04-02
  • redis自动主从切换
    127.0.0.1     7000     master127.0.0.1     7001     slave127.0....
    99+
    2024-04-02
  • Redis主从复制详解
    单机Redis存在的问题 无法故障转移 ,无法避免单点故障 磁盘空间的瓶颈 QPS瓶颈 Redis主从复制的作用 提供数据副本 扩展读性能 配置方法 通过命令 通过配置文件 演示 为方便演示,在一台服务器上...
    99+
    2024-04-02
  • redis主从同步配置
    这篇文章给大家介绍redis主从同步配置,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一丶主从概念 一个master可以拥有多个slave,一个slave又可以拥有多个slave,如此下去,形成了强大的多级服...
    99+
    2023-06-06
  • redis演练(6) redis主从模式搭建
    redis是一款面向分布式的Nosql产品,天生对主备模式有很好的支持,而且配置一套完整的主备模式,非常简单。针对redis,主备模式配置非常简单,但线上意义重大。主要内容1.CAP理论2.简单redis的...
    99+
    2024-04-02
  • 浅谈Redis主从复制以及主从复制原理
    目录面临问题解决办法主从复制主从复制的作用主从复制启用面临问题 1. 机器故障。我们部署到一台 Redis 服务器,当发生机器故障时,需要迁移到另外一台服务器并且要保证数据是同步的。...
    99+
    2024-04-02
  • redis主从哨兵模式怎么实现一主二从
    这篇文章主要介绍“redis主从哨兵模式怎么实现一主二从”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“redis主从哨兵模式怎么实现一主二从”文章能帮助大家解决问题。一、环境操作系统:centos7...
    99+
    2023-07-02
  • Redis 主从复制全剖析
    Redis的主从复制是如何工作的?如何在同步数据的同时,还保持着高性能,你了解吗? https://redis.io/topics/replication 注意以下基于 redis 5 最新版本,slave 名词和配置项已经...
    99+
    2019-12-28
    Redis 主从复制全剖析
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作