《Redis开发与运维》笔记-复制
《Redis开发与运维》笔记-复制
- 配置
- 建立复制
- 断开复制
- 安全性
- 传输延迟
- 原理
- 复制过程
- 数据同步
- 全量复制
- 部分复制
配置
建立复制
建立复制有三种方式:
- 在配置文件中加入配置,跟随Redis启动生效
slaveof <masterip> <masterport>
- 在redis-server启动命令后加入 “–slaveof masterip masterport”。
redis-server --slaveof 127.0.0.1 6379
- 在客户端直接使用命令,slaveof masterip masterport
slaveof 127.0.0.1 6379
断开复制
直接执行命令断开复制,slaveof no one
slaveof no one
Redis可以直接通过slaveof命令切换主节点
Redis在切换主节点过程中,会先清理删除本地旧数据,在进行复制操作。
安全性
一般在设置Redis配置中,我们会通过设置requirepass参数进行密码验证。所以在从节点复制主节点就需要配置参数masterauth来配置主节点密码。
在复制过程中,一般需要配置从节点为只读属性,防止修改从节点数据导致主从节点数据不一致,通过设置参数slave-read-only
slave-read-only yes
传输延迟
复制过程中,会存在网络延迟等问题。Redis提供了一个配置可以设置进行优化
//默认下此配置为关闭
repl-disable-tcp-nodelay no
当关闭时,主节点产生的命令数据无论大小都会及时地发送给从节点,这样主从节点的延迟会变小,但是会增加网络带宽消耗。
当开启时,主节点会合并较小的TCP数据包从而减少带宽。默认发送时间间隔取决于Linux的内核,一般默认为40毫秒。
原理
复制过程
数据同步
数据同步过程分为全量同步和部分同步两种方式。通过使用psync命令操作同步。
psync runId offset
psync命令运行需要组件支持:
- 主从节点各自复制偏移量。
- 主节点复制积压缓冲区。
- 主节点运行id。
主节点运行id每次启动都会变更,可以采用 debug reload命令执行重启,不会变更run_id
psync命令运行流程
参数offset是当前从节点保存的复制偏移量,如果是第一次参数复制,则默认值是-1
如果主节点回复 +FULLRESYNC 那么从节点将触发全量复制
如果主节点回复 +CONTINUE,从节点触发部分复制
如果主节点回复 -ERR 说明主节点不识别psync命令。可能是主节点版本过低。
全量复制
全量复制流程图:
部分复制
部分复制流程图:
《Redis开发与运维》笔记-复制相关推荐
- Redis开发与运维笔记_1 初识2 API
目录 概述 第1章 初识Redis 1.1 盛赞Redis 1.2 Redis特性 1.3 配置.启动.操作.关闭Redis 第2章 API的理解和使用 2.1 预备 2.1.1 全局命令 2.1.2 ...
- Redis开发与运维 必备-电子书
Redis开发与运维电子书 fulei出版 链接: https://pan.baidu.com/s/12rlHhOKP7_72GE8a74lN1g 密码: eep2 复制这段内容后打开百度网盘手机Ap ...
- <Redis开发与运维>一书阅读笔记记录
文章目录 前言 第1章:初始redis 盛赞redis redis特性 redis使用场景 第2章:API的理解和使用 预备知识 全局命令 数据结构和内部编码 单线程架构 字符串 命令 内部编码 典型 ...
- 「Redis开发与运维」读书笔记
第一章 初识Redis Redis的8个重要特性 速度快 内存存储数据 C语言实现 单线程架构,避免多线程竞争问题 Redis源码优化好 基于键值对的数据结构服务器 Redis 值可支持多种数据结构, ...
- 读书笔记:redis开发与运维 基础篇
redis特性 1>速度快:redis所有数据都是存放在内存中,是redis速度快的主要原因,是有c编写,一般来说用c编写的程序距离操作系统近,执行速度更快,非阻塞I/O,使用epoll ...
- 【Redis】《Redis 开发与运维》笔记-Chapter12-开发运维的“ 陷阱”
十二.开发运维的" 陷阱" 1.Linux配置优化之内存分配控制 1)vm.overcommit_memory Linux操作系统对大部分申请内存的请求都回复yes,以便能运行更多 ...
- 《Redis开发与运维》读书笔记--初识Redis(一)
目录 盛赞Redis Redis特性 redis使用场景 redis可以做什么? redis不可以做什么? 关于用好redis的两点建议 本章重点回顾 写在前面: 想必在写项目的过程中,我们很多时候都 ...
- Redis 开发与运维
Getting Start 高性能 性能优势的体现 C语言实现的内存管理 epoll的I/O多路复用技术+IO连接/关闭/读写通过事件实现异步的非阻塞IO TCP协议 单线程架构,不会因为高并发对服务 ...
- Redis理解内存《Redis开发与运维读书笔记》
文章目录 内存的消耗 内存划分 内存管理 内存优化 内存的消耗 可以使用info memory 查看内存消耗. 内存划分 对象内存 = sizeof(key) + sizeof(value) 应避免使 ...
- 《Redis开发与运维》各章重点回顾
第 1 章 初识 Redis Redis 8个特性:速度快.基于键值对的数据结构服务器.功能丰富.简单稳定.客户端语言多.持久化.主从复制.支持高可用和分布式. Redis 不是万金油,有些场景不适合 ...
最新文章
- matlab朴素贝叶斯手写数字识别_TensorFlow手写数字识别(一)
- sqlmap 相关参数
- Angular InjectionToken的一个具体使用例子
- ISO语言代码和国家代码+Locale常量+ISO货币符号
- .NET Core Web API:您需要了解的最少知识(第2部分,共2部分)
- mybatis之xml中日期时间段查询的sql语句
- 魔术方法 :__callStatic( )实例详解
- 2013年6月12日星期三
- 091118 T 数组的继承
- Ajax回调函数中return不生效问题
- Kerberos认证模型(c语言实现)
- 2021ccpc广州站总结
- python修改文件内容_Python之文件处理-批量修改md文档内容-Go语言中文社区
- Typora Syntax
- 借助gdb调试glibc代码学习House of Orange
- Markdown - Emoji表情大全
- DailyFi - 9.17|Solana 去中心化收益聚合器 Francium 和 Solana 钱包 Slope 正式合作
- 时隔一年多,我胡汉三又归来了,将持续更新的博客
- 菜鸟网络业务支撑平台
- 一起来学习在Ubuntu上安装Budgie桌面
热门文章
- 登录验证----滑块/拼图碎片/随机num
- DirectX修复工具(DirectX Repair)修复工具V4.0增强版
- 手动调整 HP ML350 Gen9 服务器风扇转速
- 【综合篇】Web前端性能优化原理问题
- 组装台式计算机配置清单,diy之家 - 2017组装电脑配置清单_电脑diy主机配置推荐...
- 车站计算机系统sc英文,【地铁小百科】自动售检票系统概述
- 用cmd 查看本机的IP地址
- 模拟电子技术基础简明课程(第三版)思维导图
- java网页版斗地主_JAVA控制台版斗地主
- 大数据技能练习之爬虫