Redis6之穿透、击穿、雪崩

news2024/12/28 18:19:16

        大量的高并发的请求打在Redis上,但是发现Redis中并没有请求的数据,redis的命令率降低,所以这些请求就只能直接打在DB(数据库服务器)上,在大量的高并发的请求下就会导致DB直接卡死、宕机。

 缓存穿透

        当客户端大量请求缓存和数据库都不存在的值

解决方式

        1.在缓存中添加一个为null的空值

        2.实时监控

        3.接口校验,对于无效访问直接拦截,不请求到redis和数据库

        4.使用BitMap作为布隆过滤器,将目前所有可以访问到的资源通过简单的映射关系放入到布隆过滤器中,进行判断如果有那么才进行放行,否则就直接拦截

缓存击穿

        当客户端大量请求访问缓存中某个过期数据,导致请求直接访问数据库

解决方式

        1.提前设置热点数据

        2.使用锁机制

        3.监控哪些数据是热门数据,实时的调整key的过期时长

缓存雪崩

        当客户端访问,大量缓存数据过期,导致请求直接访问数据库

解决方式

        1.将失效时间随机设置,防止集体过期

        2.使用锁或队列

        3.记录缓存数据是否过期,如果过期会触发通知另外的线程在后台去跟新实际的key

        4.构建多级缓存,比如redis缓存、本地缓存,使得不同的缓存有差异化

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

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

相关文章

一例Phorpiex僵尸网络样本分析

本文主要分析Phorpiex僵尸网络的一个变种,该样本通常NSIS打包,能够检测虚拟机和沙箱。病毒本体伪装为一个文件夹,通过U盘来传播,会隐藏系统中各盘符根目录下的文件夹,创建同名的lnk文件,诱导用户点击。 病…

TF卡/U盘系统备份

Jetson nano使用TF卡/U盘来装载系统,如果TF卡/U盘丢失或者损坏,那么Jetson nano上的数据都会丢失,所以一定要备份好TF卡/U盘。这篇文章可以帮你备份你的Jetson nano系统。主要内容为备份TF卡/U盘,制作Jetson nano系统镜像以及在需…

Java——《面试题——ElasticSearch篇》

目录 1、谈谈分词与倒排索引的原理 2、说说分段存储的思想 3、谈谈你对段合并的策略思想的认识 4、了解文本相似度 TF-IDF吗 5、能说说ElasticSearch 写索引的逻辑吗? 6、熟悉ElasticSearch 集群中搜索数据的过程吗? 7、了解ElasticSearch 深翻页的…

vsCode 创建新java项目(创建一个新java项目测试方法)

VSCODE环境配置-java之项目建立,非常适合刚准备使用VSCODE开发JAVA的人_vscode创建java项目_rainmenzhao的博客-CSDN博客 1 按 ctrl shift p 2 输入 create Java project 3 选 no build tools 4 选择 一个文件夹 存放 之后要 新建的文件 5 选完之后 自动返回主页…

获得Jolt 大奖的《持续交付》作者David Farley又一新作《现代软件工程》

戴维 法利 (David Farley) 是持续交付的先驱、思想领袖, 也是持续交付、 DevOps、 测试驱动开发和软件开发领域的专家。 从现代计算的早期开始,戴维曾担任过程序员、软件工程师、系统架构师和成功团 队的领导者,他掌握了计算机和软件开发的基…

ES基本操作(postman篇)

关系型数据库 -> Databases(库) -> Tables(表) -> Rows(行) -> Columns(列)。Elasticsearch -> Indeces(索引) -> Types(类型) -> Documents(文档) -> Fields(属性)。 需要注意的是:type的概念在es7.0之后已经删除了。 以下仅做刚入门学习…

矩阵对角线元素的和:揭秘数学之美,解密矩阵的隐秘密码

本篇博客会讲解力扣“1572. 矩阵对角线元素的和”的解题思路,这是题目链接。 本题的思路是:主对角线的下标满足i j,副对角线的下标满足i j size - 1,故只需要使用i遍历每一行,把(i, i)和(i, size - i - 1)的元素求和…

探索 Spring Boot 项目全过程

文章目录 🎇前言1.Spring Boot 所需环境2.Spring Boot 项目创建2.1 安装插件2.2 创建新项目2.3 项目属性配置2.4添加依赖2.4 修改项目名称2.5 添加框架支持2.6 目录介绍 3.判断Spring Boot 创建项目是否成功🎆总结 🎇前言 在 Java 这个圈子&…

1. Except

文章目录 Except前言Except 语法Except 使用举例结合其他关键字使用EXCEPT with BETWEEN operatorExcept with IN operatorEXCEPT with LIKE operator 文章参考 Except 前言 SQL中,EXCEPT 操作用于检索存在于第一个表中的唯一记录,而不是两个表中共有的…

python3GUI--网速内存小工具By:PyQt5(附源码)

文章目录 一.前言二.预览1.主界面2.动图演示3.内存详细信息查看4.自定义界面 三.源代码1.tool_god_GUI.py2.tool_god_ui.py3.engine.py4.CWidgets.py 四.总结五.参考 一.前言 本次使用PyQt5进行开发一款网…

(并查集) 685. 冗余连接 II ——【Leetcode每日一题】

并查集基础 并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的Kruskal算法和求最近公共祖先(LCA)等。 并查集的基本操作主…

MySQL 分库分表实战之ShardingSpare

文章目录 概要一、安装二、配置2.1、 通用配置2.2、 分片配置2.3、读写分离 三、演练3.1、读写分离3.2、分库分表3.3、分库分表读写分离 4、总结 概要 市面上MySQL分库分表中间件还是很多的,主要分为两大类:应用层依赖类中间件(比如sharding…

【学习周报】

最近看过的几篇论文里,VALOR和InstructBLIP模型使用了cross-attention机制,以这两篇论文为基础着重学习cross-attention相关的代码和思路。 学习内容: cross-attention机制学习lstm与transformer 学习时间: 6.26 ~ 7.1 学习笔记…

Linux--重定向:> >> <

输出重定向&#xff1a;> a.如果目标文件不存在&#xff0c;则创建文件。反之 b.本来应该显示到显示器的内容&#xff0c;被写入到了文件中 示例&#xff1a; 追加重定向: >> 示例&#xff1a; 输入重定向&#xff1a;< 本来应该从键盘中读取的内容&#xff0c;变…

分布式锁的实现方案(免费gpt4分享)

1.1基于数据库 有两个方案&#xff1a;依赖数据库排他锁以及表主键的唯一。 依赖数据库排他锁&#xff1a; 在查询语句后面增加for update&#xff0c;数据库会在查询过程中给数据库表增加排他锁 (注意&#xff1a; InnoDB 引擎在加锁的时候&#xff0c;只有通过索引进行检索…

SpringBoot扩展机制

启动生命周期 一.Spring boot初始化器扩展 package com.lx.conmon.extend.intializer;import org.springframework.context.ApplicationContextInitializer; import org.springframework.context.ConfigurableApplicationContext;/*** Spring boot初始化器扩展* author liu we…

AIPRM for ChatGPT 提示词模板扩展工具实践

&#xff08;1&#xff09;基本介绍 AIPRM for ChatGPT是一个Chrome浏览器扩展程序&#xff0c;基于Chromium内核开发的浏览器都可以使用该扩展&#xff0c;比如微软的Edge浏览器等。 在AIPRM的帮助下&#xff0c;我们可以在ChatGPT中一键使用各种专门为网站SEO、SaaS、营销、…

超详细,Python自动化测试 Allure报告参数化动态生成标题(实战)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 默认 allure 报告…

ubuntu安装openssh

Ubuntu安装openssh之后&#xff0c;然后在客户端安装winscp,然后就可以很方便的传输文件了 sudo apt install openssh-server sudo service ssh status sudo service ssh start sudo service ssh restart

自然语言处理从入门到应用——预训练模型总览:预训练模型存在的问题

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 相关文章&#xff1a; 预训练模型总览&#xff1a;从宏观视角了解预训练模型 预训练模型总览&#xff1a;词嵌入的两大范式 预训练模型总览&#xff1a;两大任务类型 预训练模型总览&#xff1a;预训练模型的拓展 …