复制基础概念

Redis的主从复制特点

  • 一个master可以有多个slave
  • 可以用级联复制功能
  • master是以非阻塞的方式来同步数据给slave

其实redis的复制和mysql的主从复制很相似,也可以用来作读写分离

Redis的复制过程
首先主服务器会基于ping的方式检查从服务器是否在线,如果在线就直接将内存中的数据发送给从端,然后从端会将数据保存在文件中,然后将这个文件载入到内存中实现数据的重建(载入过程称之为load)

其实,这个主从复制过程是这样的:
在启动了slave以后,从端会向master 发送一个sync command 命令,请求来获得主库上的数据,无论从库是第一次连接进来或者不是第一次连接进来,master都会启动一个后台子进程用于将内存中的数据快照保存在数据文件中,然后将数据文件发送到村段,从端读取该文件之后会载入到内存实现数据重建。

复制过程演示

现在用171作为主库,172做为从库。

  1. 修改作为主库和做为从库的redis的配置文件让他们分别监听自己ip
[root@171 ~]# ss -tnl
State      Recv-Q Send-Q        Local Address:Port                       Peer Address:Port
LISTEN     0      128            10.220.5.171:6379                                  *:*                [root@172 ~]# ss -tnl
State      Recv-Q Send-Q        Local Address:Port                       Peer Address:Port
LISTEN     0      128                       *:6379                                  *:*
  1. 在172节点启动同步
10.220.5.172:6379> SLAVEOF 10.220.5.171 6379  >>>设置master为171
OK
10.220.5.172:6379> KEYS *    >>>检查数据是否同步过来
1) "name"
2) "addr"
3) "age"

只需要这一个 SLAVEOF host port命令就实现了主从复制
注意:如果主服务器设置了认证功能(保护模式),那么在连接的时候要用在slave端配置文件中加入masterauth 密码。

从节点的相关配置

# 指定主端的ip和端口
slaveof host port
# 主端有密码
masterauth 123
# 指定当主节点没有应答,但是该节点数据已经过期的情况下,由于用户请求过来,是否使用这个过期数据
slave-serve-stale-data yes
# 如果是从服务器的话,只读
slave-read-only yes
# 如果从服务器数量少于3个,那么主服务器就不能接受请求了
min-slaves-to-write 3
# 如果从服务器之后与主服务器超过10秒了,就进制主服务器执行写操作
min-slave-max-log 10

redis简单主从复制这边博文就讲到这里,下篇博文将详细讲解基于sentinel的Redis复制的高可用。

------做运维之前很矫情的小年轻-----

Redis的复制详解相关推荐

  1. Redis AOF 持久化详解

    来自公众号:程序员历小冰 Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多.但是一旦进程退出,Redis 的数据就会丢失. 为了解决这个问题,Re ...

  2. 转-Redis AOF 持久化详解

    转自: https://juejin.cn/post/6844903902991630349 Redis AOF 持久化详解 Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据 ...

  3. Redis最全详解(一)——基础介绍

    Redis介绍 redis是基于内存可持久化的日志型.Key-Value数据库.redis安装在磁盘,但是数据存储在内存.非关系型数据库NoSql.开源免费,遵守BSD协议,不用关注版权问题. red ...

  4. mysql 实例复制_MYSQL教程MySQL 复制详解及简单实例

    <MysqL教程MysqL 复制详解及简单实例>要点: 本文介绍了MysqL教程MysqL 复制详解及简单实例,希望对您有用.如果有疑问,可以联系我们. MysqL 复制详解及简单实例 主 ...

  5. mysql 实例复制_MySQL 复制详解及简单实例

    MySQL 复制详解及简单实例 主从复制技术在MySQL中被广泛使用,主要用于同步一台服务器上的数据至多台从服务器,可以用于实现负载均衡,高可用和故障切换,以及提供备份等等.MySQL支持多种不同的复 ...

  6. [转]Redis内部数据结构详解-sds

    本文是<Redis内部数据结构详解>系列的第二篇,讲述Redis中使用最多的一个基础数据结构:sds. 不管在哪门编程语言当中,字符串都几乎是使用最多的数据结构.sds正是在Redis中被 ...

  7. (38)System Verilog类class复制详解

    (38)System Verilog类class复制详解 1.1 目录 1)目录 2)FPGA简介 3)System Verilog简介 4)System Verilog类class复制详解 5)结语 ...

  8. Redis配置文件redis.conf文件详解

    Redis配置文件redis.conf文件详解 唠嗑 这里面的意思只要看得差不多其实就是已经对redis有熟悉的感觉,就比如 推塔已经推到别人家的大门~~~~~~~~废话不多说直接开始了 知道大家都不 ...

  9. 探索Redis设计与实现6:Redis内部数据结构详解——skiplist

    Redis内部数据结构详解(6)--skiplist  2016-10-05 本文是<Redis内部数据结构详解>系列的第六篇.在本文中,我们围绕一个Redis的内部数据结构--skipl ...

最新文章

  1. Roger Ver:BCH比BCE更适合机构投资者
  2. 替换软连接导致的问题
  3. loj #6226. 「网络流 24 题」骑士共存问题
  4. String or binary data would be truncated
  5. 微软9月补丁星期二值得关注的0day、终于落幕的 PrintNightmare及其它
  6. [macOS] git忽略所有的.DS_Store文件
  7. 斐讯k2p openwrt固件改双WAN口
  8. 【AI视野·今日CV 计算机视觉论文速览 第193期】Fri, 7 May 2021
  9. Fiddler抓取Chrome最新版HTTPS设置
  10. 知识分享!电阻按照用途分类可以分为哪几种电阻?-道合顺大数据infinigo
  11. 前端背景图放置_css如何设置背景图片?background属性添加背景图片
  12. 新闻文章发布系统功能说明
  13. 怎么给图片加滤镜?我来教你图片滤镜怎么调才好看
  14. Web全栈~18.jQuery
  15. 对那些家庭经济特别艰难的学生
  16. 如何调整糟糕的生活状态
  17. Spring-Boot整合微信登陆、微信支付、邮箱发送、支付宝支付和阿里云短信
  18. 24种常用颜色的中英文名字
  19. C++ QT结合FFmpeg实战开发视频播放器-17FFmpeg基本介绍
  20. 惯性gps组合导航matlab,Strong-tracking-filter 基于强跟踪滤波算法的惯性加GPS组合导航matlab仿真程序 238万源代码下载- www.pudn.com...

热门文章

  1. iOS开发知识点总结
  2. Add Binary - LeetCode
  3. 文件签名魔塔50层android反编译破解
  4. Proteus仿真STM32F103R6微控制器的EXTI
  5. 我要做一个什么样的程序员
  6. java bean与xml转换_Java Bean与xml互相转换的方法分析
  7. 022_Vue购物车
  8. 030_SpringBoot全局属性配置文件
  9. 485有时候从机接收指令没反应_原来微信发语音不好听,是你没掌握这2个技巧!快去试试吧...
  10. mips 内存 linux,MIPS 在linux中的内存映射