redis随笔记

news2024/11/22 22:07:55

缓存穿透。key不存在。恶意攻击、代码问题。加布隆过滤器,或者为空就返回。

缓存失效(击穿)。key刚好过期。缓存时间随机数。

缓存雪崩。缓存层宕机,一下子袭击数据库。缓存高可用、限流熔断、提前演练。

 

布隆过滤器就是一个key通过多个hash计算到多个数组所在位置,每个位置设为1,如果来了一个key,通过多个hash计算,如果所有位置都为1,过关,但只要有一个位置不为1,不过关。

 

nx的意思是,如果不存Key,则set,否则返回false。常有用于锁,资源只能被一次只能被一个客户端使用

redis.set(Key, "1", "ex 180", "nx"))

 

HyperLogLog,高并发用,愿意牺牲一些正确性,但存储空间小。用于原理是最大似然估计。用于记录uv(一天有多少人访问过这个网站,去重)。pfadd、pfcount、pfmerge

 

事务。watch乐观锁、multi开始事务、exec结束事务、discard丢弃缓存队列中命令(类似回滚,但不回滚

4a3e48d253ae4e2b82caead36ea4feda.png

 

复制缓冲区(OutputBuffer)有多份,有多少个从节点就有多少份在主节点上。用于主节点rbd给从节点时增量的数据存储,rbd后,再把复制缓冲区内容发送过去。复制积压区(ReplicationBacklog),是只有一份,记录主节点给从节点发送的增量写命令,从节点需要增量同步的时候,通过偏移量来复制积压去获取。

复制缓冲区(OutputBuffer)

定义与作用

  • 复制缓冲区是Redis为客户端(在复制场景下,主要是从节点)分配的缓冲区。每个从节点都会有一个对应的复制缓冲区,用于存放全量复制过程中主节点开始执行bgsave到从节点载入rdb文件这个时间段中主节点的写命令。
  • 这些命令在从节点载入rdb文件后,会被用来执行增量同步,以确保从节点的数据与主节点保持一致。

大小限制与保护机制

  • 复制缓冲区的大小可以通过配置client-output-buffer-limit来控制,对于从节点(slave)来说,默认的大小限制是256MB,如果连续60秒缓冲区大小超过64MB,则主节点会断开与该从节点的连接。
  • 这些限制是为了防止因为单个从节点的问题导致主节点消耗过多内存,从而影响整个Redis集群的稳定性。

注意事项

  • 如果主节点的数据量过大或者网络延迟过高,可能会导致复制缓冲区溢出,进而引发主从连接中断。
  • 在设计和部署Redis集群时,需要根据实际情况调整复制缓冲区的大小限制,以平衡数据一致性和系统稳定性。

复制积压区(ReplicationBacklog)

定义与作用

  • 复制积压区是主节点上的一个固定长度的队列,用于保存最近发送给从节点的写命令。这个队列是先进先出的,因此可以保存最近一段时间内的写命令数据。
  • 当从节点与主节点的连接断开并重新连接时,如果它们之间的数据差异在复制积压区的范围内,那么从节点可以通过增量同步的方式快速追上主节点的数据。

大小与配置

  • 复制积压区的大小可以通过配置repl-backlog-size来设置,默认大小为1MB。
  • 需要注意的是,复制积压区的大小会影响增量同步的效率和范围。如果复制积压区太小,可能会导致从节点无法找到足够的数据进行增量同步,从而需要执行全量同步。

工作原理

  • 当主节点接受到写命令时,它不仅会将命令发送给从节点,还会将命令写入复制积压区。
  • 如果从节点断开连接并重新连接,它会向主节点发送自己的复制偏移量(即最后一次成功接收的命令的偏移量)。
  • 主节点会根据这个偏移量在复制积压区中找到对应的命令数据,并将这些数据发送给从节点进行增量同步。

综上所述,Redis的复制缓冲区和复制积压区在主从复制过程中起着关键的作用。它们通过不同的机制来确保数据的一致性和系统的稳定性。在设计和部署Redis集群时,需要根据实际情况合理配置这两个组件的大小和参数。

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文档透明加密软件是什么?有哪些功能?一文给您详解!

文档透明加密软件是一种在不影响用户正常操作习惯的前提下,自动对电子文档进行加密和解密的技术解决方案。 其核心特点在于“透明性”,即用户在打开、编辑或保存文档时,无需进行任何额外的加密或解密操作,这些过程均在系统后台自…

【深度学习】【多模态】使用MiniCPM-V 2.6进行图片OCR

文章目录 ocr评价ocr 下载项目:https://huggingface.co/openbmb/MiniCPM-V-2_6 准备一个图片’test.jpg’。 将下面的python中的目录地址换成MiniCPM-V-2_6项目所在地址。然后执行: # test.py import torch from PIL import Image from transformers import AutoModel, Aut…

网络主播被正式认定为国家新职业

网络主播这一职业正式获得国家认可,标志着这一工作已成为一项正当且受认可的职业,而不再只是灵活就业的选项。近日,人力资源和社会保障部公布了新增的19个新职业信息,其中包括网络主播。对于从事直播行业的人来说,这是…

zabbix实战-磁盘空间告警

1.创建监控项 选择&#xff1a;键值&#xff1a;vfs.fs.size[fs,<mode>] 。 直接写 vfs.fs.size[fs,<mode>]是不出数据的。我们要写具体的值 &#xff1a;vfs.fs.size[/,free] &#xff0c;这个表示查看根的剩余空间。 2.创建图形 为磁盘剩余空间监控项创建图形&am…

cdn刷新预热

1、访问 cdn 控制台的 刷新预热 页面&#xff0c;填写需要刷新预热的url地址 阿里云&#xff1a; 腾讯云&#xff1a; 2、通过调用cdn的api接口刷新预热 阿里云&#xff1a; 调用RefreshObjectCaches-刷新缓存_CDN(CDN)-阿里云帮助中心 调用PushObjectCache-预热URL_CDN(CD…

前端宝典九:React Native从入门到精通实战

本文主要介绍 React Native新旧框架对比React与React Native区别React Native性能优化 其中第3点React Native性能优化的拆包分包&#xff0c;是项目实战中使用过的&#xff0c;在这里整理分享&#xff0c;如果没有用过的小伙伴会觉得晦涩难懂&#xff0c;建议按照在实际项目…

【等保测评】IIS模拟测评

一、身份鉴别 a)应对登录的用户进行身份标识和鉴别&#xff0c;身份标识具有唯一性&#xff0c;身份鉴别信息具有复杂度要求并定期更换&#xff1b; 结果记录&#xff1a;此项不适用&#xff0c;IIS中间件无管理控制台&#xff0c;身份鉴别功能依赖于所部署的服务器 b)应具有…

计算机毕业设计 心理健康服务系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

创新驱动发展,SiLM5768LCG-DG 支持输入输出同相逻辑 带互锁功能的六通道数字隔离器 科技稳健赋能,工业汽车应用安全升级!

SiLM5768Lx系列带互锁功能的六通道数字隔离器选型表: SiLM5768LCG-DG:支持输入输出同相逻辑 SiLM5768LNCG-DG:支持输入输出反相逻辑 数字隔离器广泛应用于工业、汽车和通信等领域&#xff0c;为系统中的强电和弱电电路提供了安全、可靠的电气隔离解决方案&#xff0c;确保强…

【TCP】核心机制:延时应答、捎带应答和面向字节流

文章目录 延时应答捎带应答面向字节流粘包问题方案一&#xff1a;指定分隔符方案二&#xff1a;指定数据的长度 TCP 报头首部长度保留&#xff08;6 位&#xff09;选项序号确认序号 延时应答 尽可能降低可靠传输带来的性能影响 提升性能>让滑动窗口变大 如果我们立即返回 …

Chat App 项目之解析(二)

Chat App 项目介绍与解析&#xff08;一&#xff09;-CSDN博客文章浏览阅读76次。Chat App 是一个实时聊天应用程序&#xff0c;旨在为用户提供一个简单、直观的聊天平台。该应用程序不仅支持普通用户的注册和登录&#xff0c;还提供了管理员登录功能&#xff0c;以便管理员可以…

Docker最佳实践进阶(二):Docker Compose部署SpringCloud微服务项目

大家好&#xff0c;在上篇文章中博主演示了Dockerfile常用的命令&#xff0c;以及如何利用Dockerfile构建镜像&#xff0c;生成容器服务&#xff0c;但是在实际应用环境中&#xff0c;特别是在微服务架构中&#xff0c;一个应用系统可能包含多个微服务&#xff0c;每个微服务可…

软数据与硬数据的深度解析:住宅代理如何优化数据抓取

引言 什么是软数据&#xff1f;有哪些类型&#xff1f; 什么是硬数据&#xff1f;有哪些类型&#xff1f; 软数据和硬数据的区别是什么&#xff1f; 如何收集软数据和硬数据&#xff1f; 如何优化抓取软数据和硬数据&#xff1f; 总结 引言 在大数据时代&#xff0c;企业…

Sanic 和 Go Echo 对比

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storm…

【Python系列】 并发编程在数据处理中的应用

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

iOS 17.6.1版本重发,修复高级数据保护错误

今日&#xff0c;苹果没有带来iOS 17.6.2的更新&#xff0c;而是重新发布了iOS 17.6.1版本&#xff0c;本次升级版本号为21G101&#xff0c;高于第一版的21G93。距离初版发布相隔一周半时间。 在 iOS / iPadOS 17.6.1 的更新日志&#xff0c;苹果公司写道&#xff1a;“此更新包…

只用一个 HTML 元素可以写出多少形状?——伪元素篇(上)

只用一个 div 元素&#xff0c;我们已经通过四个篇章写了很多形状。 首先&#xff0c;我们通过对这个 div 的宽度与高度的直接控制&#xff0c;轻松写出矩形和正方形&#xff0c;并结合 transform 的 skew 方法写出了平行四边形与菱形。 其次&#xff0c;我们通过对边框的灵活…

iphone异常问题常用修复方法

作为智能手机的领军者&#xff0c;iPhone凭借其卓越的性能和稳定的系统赢得了全球用户的青睐。然而&#xff0c;就像任何电子设备一样&#xff0c;iPhone在使用过程中也难免会遇到各种异常问题&#xff0c;如卡顿、无法充电、应用闪退等。这些问题虽然令人头疼&#xff0c;但大…

linux之ELK

ELK概述 ELK是一套开源的日志分析系统&#xff0c;由elasticsearchlogstashKibana组成。 官网说明:https://www.elastic.co/cn/products 首先: 先一句话简单了解E,L,K这三个软件 elasticsearch: 分布式搜索引擎 logstash: 日志收集与过滤&#xff0c;输出给elasticsearch Kiban…

校园快递代取系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图详细视频演示技术栈系统测试为什么选择我官方认证玩家&#xff0c;服务很多代码文档&#xff0c;百分百好评&#xff0c;战绩可查&#xff01;&#xff01;入职于互联网大厂&#xff0c;可以交流&#xff0c;共同进步。有保障的售后 代码参考数据库参…