redis之主从复制和哨兵模式

(一)redis的性能管理

1、redis的数据缓存在内存中

2、查看redis的性能:info memory(重点)

used_memory:904192(单位字节)

redis中数据占用的内存

used_memory_rss:10522624

redis向操作系统申请的内存

used_memory_peak:904192

redis使用内存的峰值

3、生产中的日常系统巡检:硬件巡检、数据库、nginx、redis、docker、k8s

4、redis的内存碎片率:used_memory_rss/used_memory(重点)

(1)内存碎片率:系统已经分配给了redis,但是redis未有效利用的内存
(2)查看内存碎片率:redis-cli info memory | grep ratio

allocator_frag_ratio:1.27

分配器碎片的比例,redis主进程调度时产生的内存,比例越小越好,值越高说明碎片越多,内存的浪费越多

allocator_rss_ratio:5.24

分配器占用物理内存的比例,也就是主进程调度执行时占用了多少物理内存

rss_overhead_ratio:1.17

RSS是向系统申请的内存空间,表示redis占用物理空间额外的开销比例,比例越低越好,表示redis实际占用的物理内存和向系统申请的内存越接近,额外的开销就越低

mem_fragmentation_ratio:12.49

内存碎片的比例,比例越低越好,表示内存的使用率越高

(3)清理碎片
①自动清理(修改配置文件)——设置redis的最大内存阀值

设置redis的最大内存阀值:一旦到达阀值,自动清理碎片,开启key的回收机制

生产中一定要给redis设置阀值,不设置最大阀值,内存会直接爆满——重点

key回收的策略(重点)

maxmemory-policy volatile-lru

使用redis内置的LRU算法,把已经设置了过期时间的键值对进行淘汰数据,移除最近最少使用的键值对(针对已经设置了过期时间的键值对)

maxmemory-policy volatile-ttl

已经设置了过期时间的键值对,从当中挑选一个即将过期的键值对(针对已经设置过期时间的键值对)

maxmemory-policy volatile-random

从已经设置了过期时间的键值对当中,挑选数据随机的淘汰键值对(对设置了过期时间的键值对进行随机移除)

allkeys-lru

LRU算法当中,对所有的键值对进行淘汰,移除最少使用的键值对(针对所有的键值对)

allkeys-random

所有键值对当中任意选择数据进行淘汰

maxmemory-policy noeviction

禁止键值对回收(不删除任何键值对,直到redis把内存塞满,写不了报错为止)

②手动清理:redis-cli memory purge

(4)redis占用内存的效率问题如何解决?
①日常巡检中,对redis的占用情况进行监控
②设置redis占用系统内存的阀值,避免占用系统全部内存
③内存碎片清理(手动、自动)
④配置适合的key回收机制

5、redis雪崩(少见)

(1)redis雪崩:缓存雪崩,是指大量的应用请求无法在redis缓存中处理,请求会全部发送到后台数据库,数据库的压力会激增,数据库并发能力本身就很差,一旦高并发,数据库会很快崩溃
(2)雪崩产生的原因:
①redis集群大面积故障
②redis缓存中,大量数据同时过期,大量的请求无法得到处理
③redis实例宕机
(3)解决方案
①事前:高可用架构,防止整个缓存故障,主从复制、哨兵模式和redis集群
②事中:在国内的通用方式:HySTRIX,熔断、降级、限流三个手段来降低雪崩发生之后的损失,数据库不死即可,可以慢,但是不能没有响应(开发做)
③事后:redis备份,快速缓存预热(开发做)

6、redis的缓存击穿(常见)

(1)原因:热点数据缓存过期或者被删除,多个请求并发访问热点数据,请求转发到后台
数据库,导致数据库的性能快速下降
(2)键值对还在,但值被替换,原有的请求找不到之后,同样请求后台数据库
*经常被请求的缓存数据,最好设置为永不过期

7、redis的缓存穿透(少见)

(1)缓存穿透:缓存中没有数据,数据库中也没有对应的数据,但是有用户一直发起这个都没有的请求,而且请求的数据格式很大,黑客在利用漏洞攻击,压垮应用数据库

(九)redis的集群架构(高可用)

1、高可用方案:主从复制、哨兵模式、集群

(十)redis之主从复制

1、主从复制

(1)是redis实现高可用的基础,哨兵模式和集群都是在主从复制的基础上实现高可用
(2)实现数据的多机备份,以及读写分离(主服务器负责写,从服务器只能读,设置了从默认是只读模式)
(3)缺点:故障无法恢复,需要人工干预,写操作无法实现负载均衡
(4)主从复制需要至少3个节点

2、主从复制的工作原理

(1)主节点(master)、从节点(slave),数据的复制是单向的,只能从主节点到从节点

3、主从复制的工作机制

4、主从复制的架构
(1)20.0.0.41:master
(2)20.0.0.42:slave1
(3)20.0.0.43:slave3

5、实验过程

(1)配置主节点

(2)配置从服务器

(3)测试

(二)哨兵模式(先有主从、再有哨兵)

1、哨兵模式

(1)在主从复制的基础上,实现主节点故障的自动切换

2、哨兵模式的原理

(1)哨兵:分布式系统,部署在每一个redis节点上,用于在主从结构之间,对每台redis的服务进行监控
(2)主节点出现故障时,从节点通过投票的方式选择一个新的master
(3)哨兵模式需要至少3个节点

3、哨兵模式的结构

(1)哨兵节点:监控节点,不存储数据
(2)数据节点:主节点和从节点

4、哨兵模式的工作机制

(1)哨兵模式的原理:每一个哨兵节点每隔一秒,通过ping命令方式,检测主、从之间的心跳线。主节点在一定时间内没有回复或者回复了错误的消息,这个时候,哨兵就会主观的认为主节点下线了,超过半数的哨兵节点认为主节点下线了,这个时候才会认为主节点是客观下线
(2)哨兵节点通过raft算法(选举算法),每个节点共同投票选举出一个新的master,然后新的master实现主节点转移和故障恢复通知
(3)主节点的选举过程
①已经下线的从节点不会被选为主节点
②选择配置文件当中,从节点优先级最高的replica-priority 100
③选择一个复制数据最完整的从节点

5、实验过程

(1)配置主节点

(2)配置从服务器

起服务:先起master,再起slave:redis-sentinel sentinel.conf &

(3)监控哨兵集群的信息

(4)故障切换(有延迟)

(5)故障恢复

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/175920.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

阿里云高校计划学生认证领无门槛代金券和教师验证方法

阿里云高校计划扫码完成学生验证即可领取300元无门槛代金券,还可领取3折优惠折扣,适用于云服务器等全量公共云产品,订单原价金额封顶5000元/年,阿里云服务器网aliyunfuwuqi.com分享阿里云高校计划入口及学生认证说明: …

【Redis篇】简述Redis | 详解Redis命令

文章目录 🎍什么是Redis🎍Redis特点🎍Redis应用场景🍔Windows安装Redis⭐启动Redis 🌺Redis数据类型🌺Redis常用命令⭐字符串string操作命令⭐哈希hash操作命令⭐列表list操作命令⭐集合set操作命令⭐有序集…

第十一章 目标检测中的NMS(工具)

精度提升 众所周知,非极大值抑制NMS是目标检测常用的后处理算法,用于剔除冗余检测框,本文将对可以提升精度的各种NMS方法及其变体进行阶段性总结。 总体概要: 对NMS进行分类,大致可分为以下六种,这里是依…

稳定性保障8个锦囊,建议收藏!

稳定性保障,是一切技术工作的出发点和落脚点,也是 IT 工作最核心的价值体现,当然也是技术人员最容易“翻车”的阴沟。8个稳定性保障锦囊,分享给各位技术人员择机使用。 #1 设定可量化的、业务可理解的可用性目标 没有度量就没有改…

vue diff算法原理以及v2v3的区别

diff算法简介 diff算法的目的是为了找到哪些节点发生了变化,哪些节点没有发生变化可以复用。如果用最传统的diff算法,如下图所示,每个节点都要遍历另一棵树上的所有节点做比较,这就是o(n^2)的复杂度,加上更新节点时的…

系列六、ThreadLocal内存泄漏案例

一、内存泄漏 vs 内存溢出 内存泄漏:内存泄漏是指程序中已经动态分配的堆内存由于某种原因程序未释放或者无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至导致系统崩溃等严重后果,内存泄漏最终 会导致内…

2023年中国宠物清洁用品分类、市场规模及发展特征分析[图]

宠物清洁用品指专用于清洁宠物毛发、口腔、耳部、脚爪等部位的各类宠物用品,包括宠物香波、滴耳露、修毛刀等。宠物主对宠物清洁用品需求的出现,一定程度上反映出部分宠物主与宠物间的感情逐渐加深,并逐渐达到了较为亲密的程度。随着宠物清洁…

掌握技术访谈:CNN、Seq2Seq、Faster R-CNN 和 PPO — 揭开卓越编码和创新之路

一、说明 本文 揭开CNN、Seq2Seq、Faster R-CNN 和 PPO — 编码和创新之路。对于此类编程的短小示例,用于开发时临时参考。 二、数据准备 问题陈述:在本次挑战中,您将深入计算机视觉世界并使用卷积神经网络 (CNN) 解决图像分类任务。您将使用…

electron入门(一)环境搭建,实现样例

1、首先需要安装git和node,配置环境变量,确保npm和git命令可用 2、 然后安装依赖 npm install -g electronnpm install -g electron-forgenpm install -g electron-prebuilt-compile3、 创建样例工程 electron-forge init my-new-app # 我这里碰见报错…

深度学习入门:自建数据集完成花鸟二分类任务

自建数据集完成二分类任务(参考文章) 1 图片预处理 1 .1 统一图片格式 找到的图片需要首先做相同尺寸的裁剪,归一化,否则会因为图片大小不同报错 RuntimeError: stack expects each tensor to be equal size, but got [3, 667…

如何使用环境变量运行bat脚本(开启数据库db)

文章目录 1.拥有一个bat脚本2. 右击本电脑,点击属性,找到高级设置3.新建一个环境变量命名为你想要的名字4. 找到Path,进入新增%m8%即可5.确认所有刚刚的操作,并关闭开始配置后的所有页面6.notice 1.拥有一个bat脚本 内容是执行mys…

【开源】基于Vue.js的康复中心管理系统

项目编号: S 056 ,文末获取源码。 \color{red}{项目编号:S056,文末获取源码。} 项目编号:S056,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 普通用户模块2.2 护工模块2.3 管理员…

精彩预告 | OpenHarmony即将亮相MTSC 2023

MTSC 2023 第12届中国互联网测试开发大会(深圳站)即将于2023年11月25日,在深圳登喜路国际大酒店举办,大会将以“1个主会场4个平行分会场”的形式呈现,聚集一众顶尖技术专家和行业领袖,围绕如今备受关注的行…

2023年中国油墨树脂主要环节、产量及市场规模分析[图]

油墨树脂是指用于油墨制造中的一种高分子材料,主要用于改善油墨的粘性、流动性、光泽度和耐磨性等性能。其主要成分为合成树脂,如聚酯、聚酰胺、聚丙烯酸酯等。油墨树脂在油墨制造中的应用非常广泛,可以用于各种类型的油墨,包括印…

(内部资料)收下这几个人工智能学习秘籍!

秘籍一:练好基本功 学习基础知识:人工智能涉及多个学科领域,包括数学、计算机科学、统计学等。因此,学习基础知识是非常重要的。您可以通过学习线性代数、概率论和微积分等数学基础知识,以及掌握Python编程语言和常用…

Linux学习笔记-Ubuntu下使用Crontab设置定时任务

文章目录 一、概述二、基于crontab的设置2.1 基本命令说明2.2 使用-e指令编辑命令2.2.1 进入编辑模式2.2.2 指令信息格式2.2.4 开启日志1) 修改rsyslog配置文件2) 重启rsyslog3) 查看日志 2.2.3 设置后之后重启服务 三、示例3.1 每隔一分钟往文件中日期3.2 使用-l查看任务列表3…

腾讯云服务器99元一年?假的,阿里云是99元

腾讯云服务器99元一年是真的吗?假的,不用99元,只要88元即可购买一台2核2G3M带宽的轻量应用服务器,99元太多了,88元就够了,腾讯云百科活动 txybk.com/go/txy 活动打开如下图: 腾讯云服务器价格 腾…

【Redis篇】简述Java中操作Redis的方法

文章目录 🎄简述Jedis🎄Jedis优点🍔使用Jedis连接Redis⭐进行测试🎈进行测试 Redis(Remote Dictionary Server)是一种流行的高性能内存数据库,广泛应用于各种应用程序和系统中。作为Java开发人员…

政府采购变数大,联想还值不值得代理渠道商们“跟”?

文|新熔财经 作者|余一 “事业单位更换纯国产电脑”、“联想被排除在大订单之外”等消息下,联想硬件终端产品面临的问题日益严峻。 早在今年年初,联想集团(下称联想)掌门人杨元庆坦承,“智能…

阿里云学生认证可领300元无门槛代金券(高效计划)

阿里云高校计划学生和教师均可参与,完成学生认证和教师验证后学生可以免费领取300元无门槛代金券和3折优惠折扣,适用于云服务器等全量公共云产品,订单原价金额封顶5000元/年,阿里云百科aliyunbaike.com分享阿里云高校计划入口及学…