当前位置: 首页 > article >正文

redis中缓存穿透,及解决方案

Redis 缓存穿透是指客户端请求查询的数据在 Redis 缓存和后端数据库中根本都不存在导致每次请求都会绕过缓存直接打到数据库上。如果遭遇高并发请求或恶意攻击数据库会因为承受不住这种无效查询的压力而崩溃。 缓存穿透发生的原因缓存穿透的核心在于“查无此人”。通常由以下几种情况引发恶意攻击黑客或爬虫故意构造大量数据库中没有的 ID如负数 ID、随机生成的超长字符串等发起请求专门用来绕过缓存攻击数据库。业务逻辑缺陷前端或接口层没有做好参数校验允许非法的参数如格式错误的 ID传入后端服务。数据已删除数据库中的某条数据被删除了但缓存未同步清理。此时如果大量请求该数据也会造成短暂的穿透。 核心区别缓存穿透查的是根本不存在的数据缓存无数据库也无。缓存击穿查的是存在的热点数据缓存无数据库有但刚好过期。缓存雪崩大量数据在同一时间集体过期或 Redis 宕机。️ 缓存穿透的解决方案解决缓存穿透的核心思路是把无效请求拦截在数据库之前。以下是生产环境中常用的三道防线1. 接口层参数校验第一道防线在请求刚进入系统时就对关键参数进行合法性检查。核心原理过滤掉明显不合法的请求连 Redis 和数据库都不用查。执行方式例如校验用户 ID 必须是正整数、字符串长度必须在合理范围内等。不符合规则的直接返回 400 错误。优缺点成本极低能拦截大量低级恶意请求但无法拦截那些“格式合法但实际不存在”的 ID。2. 缓存空对象核心兜底方案这是最简单且最常用的解决方案。核心原理即使数据库查不到数据也把这个“空结果”缓存到 Redis 中并设置一个较短的过期时间如 2~5 分钟。执行流程请求查询 Redis 未命中。查询数据库发现数据也不存在。将该 Key 在 Redis 中缓存为一个特殊空值如、null或EMPTY。后续相同的请求会直接命中这个空值缓存不再穿透到数据库。优缺点实现极其简单能有效拦截重复的无效请求但如果攻击者使用大量不重复的随机 ID 进行攻击会在 Redis 中产生大量空值缓存挤占宝贵的内存空间。3. 布隆过滤器终极拦截方案布隆过滤器是一种空间效率极高的概率型数据结构通常作为缓存穿透的终极解决方案。核心原理在系统启动或数据加载时将所有可能存在的有效数据 ID如所有商品 ID、用户 ID存入布隆过滤器。执行流程请求到来时先经过布隆过滤器判断。如果布隆过滤器判定该 ID不存在则该数据一定不存在直接拦截请求。如果判定可能存在才放行去查询 Redis 和数据库。优缺点内存占用极小查询速度极快能从根本上挡住绝大多数无效请求但它存在一定的误判率即把不存在的数据误判为存在且标准实现不支持删除操作数据维护相对复杂。

相关文章:

redis中缓存穿透,及解决方案

Redis 缓存穿透是指客户端请求查询的数据,在 Redis 缓存和后端数据库中根本都不存在,导致每次请求都会绕过缓存,直接打到数据库上。如果遭遇高并发请求或恶意攻击,数据库会因为承受不住这种无效查询的压力而崩溃。🎯 缓…...

JeecgBoot企业级低代码平台:Spring Boot+Vue3架构解析与实战指南

1. 项目概述:一个企业级低代码开发平台的深度剖析最近几年,低代码开发平台的热度居高不下,几乎成了企业数字化转型的“标配”话题。但说实话,市面上很多号称“低代码”的产品,要么是功能简单的表单工具,要么…...

DeepXDE完整安装指南:5种方法快速配置科学机器学习环境

DeepXDE完整安装指南:5种方法快速配置科学机器学习环境 【免费下载链接】deepxde A library for scientific machine learning and physics-informed learning 项目地址: https://gitcode.com/gh_mirrors/de/deepxde DeepXDE是一款功能强大的开源科学机器学习…...

Claude Code技能精选指南:从信息过载到高效AI工作流构建

1. 项目概述:一份为Claude Code深度用户量身定制的技能精选指南如果你正在使用Claude Code,并且已经厌倦了在GitHub、skills.sh、LobeHub等各个平台间来回穿梭,只为寻找一个真正能提升工作效率的Skill,那么你找对地方了。这个名为…...

STM32F103 学习笔记-21-串口通信(第4节)—串口发送和接收代码讲解(下)

本章面向STM32零基础新手,基于STM32F103标准库开发,从USART串口单字节发送的核心原理出发,逐步扩展实现16位数据、数组、字符串发送功能,并讲解C标准库printf/scanf的重定向方法。你可以把USART串口理解为STM32的“有线电话”——…...

笔记软件换了一个又一个,Tolaria让知识库真正属于你

知识管理这件事,说起来容易,做起来却总让人觉得哪里不对劲。笔记软件换了一茬又一茬,从Evernote到Notion,从Obsidian到Logseq,每换一次就要折腾一次迁移,每换一次就要重新适应一套逻辑,到头来真…...

手把手教你搞定移远EC200U/EC25的Linux驱动:从硬件检查到串口映射的保姆级教程

手把手教你搞定移远EC200U/EC25的Linux驱动:从硬件检查到串口映射的保姆级教程 刚接触移远4G模块的开发者,往往会在Linux驱动适配环节遇到各种"坑"。本文将以EC200U和EC25为例,带你完整走通从硬件检查到功能稳定的全流程。不同于零…...

基于LangChain与Azure OpenAI构建智能问答云函数实战指南

1. 项目概述:构建一个基于LangChain与Azure OpenAI的智能问答函数最近在折腾一个有意思的东西:如何把一个简单的用户提问,通过云函数快速变成一个结构化的、有上下文的智能对话。这听起来像是需要一整套复杂的后端服务,但实际上&a…...

AI环境管理框架AEnvironment:解决多模型开发部署难题

1. 项目概述与核心价值最近在折腾一个挺有意思的项目,叫inclusionAI/AEnvironment。乍一看这个名字,可能有点抽象,但如果你正在做AI应用开发,特别是涉及到多模型、多环境、复杂依赖管理的场景,这个项目很可能就是你一直…...

AI Agent Harness Engineering 盈利模式设计:订阅制、按次付费与定制化服务

AI Agent Harness Engineering 盈利模式设计:订阅制、按次付费与定制化服务 关键词 AI Agent 工具链工程、Agent Harness 订阅制分层、Token 经济下按次计费优化、定制化 Agent 基础设施 ROI、Agent 生态协作分成、可观测性驱动的价值锚定、企业级 AI 安全合规附加模块 摘要…...

Akagi麻雀助手:终极指南 - 如何用AI提升你的雀魂麻将水平

Akagi麻雀助手:终极指南 - 如何用AI提升你的雀魂麻将水平 【免费下载链接】Akagi 支持雀魂、天鳳、麻雀一番街、天月麻將,能夠使用自定義的AI模型實時分析對局並給出建議,內建Mortal AI作為示例。 Supports Majsoul, Tenhou, Riichi City, Am…...

SpringBoot+Vue垃圾分类回收管理系统源码+论文

代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 分享万套开题报告任务书答辩PPT模板 作者完整代码目录供你选择: 《SpringBoot网站项目》1800套 《SSM网站项目》1500套 《小程序项目》1600套 《APP项目》1500套 《Python网站项目》…...

Spring Boot + 策略模式:增强接口扩展性的最佳实践

一、为什么需要策略模式?在实际业务开发中,经常会遇到一个接口有多种不同实现方式的场景。例如:支付系统:微信支付、支付宝支付、银行卡支付订单折扣:满减、打折、VIP特价文件处理:PDF导出、Excel导出、CSV…...

SpringBoot+Vue实验室开放管理系统源码+论文

代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 分享万套开题报告任务书答辩PPT模板 作者完整代码目录供你选择: 《SpringBoot网站项目》1800套 《SSM网站项目》1500套 《小程序项目》1600套 《APP项目》1500套 《Python网站项目》…...

决策树在文本分类中的应用与实践

1. 文本分类与决策树基础文本分类是自然语言处理中的经典任务,而决策树作为可解释性极强的机器学习模型,在这个领域有着独特的应用价值。我第一次接触这个组合是在处理客户反馈自动分类项目时,当时需要快速构建一个能向业务部门解释的分类系统…...

2025年MLOps工程师核心能力与实战路线

1. 2025年MLOps精通的战略路径解析过去三年间,我主导过七个不同规模的MLOps落地项目,从金融风控到工业质检,最深的体会是:MLOps工程师正在从"会调参的码农"转变为"懂业务的架构师"。2025年的MLOps知识图谱将呈…...

what is 卡常?

卡常的概念与定义 卡常指在编程竞赛或算法实现中&#xff0c;通过优化代码细节使程序在时间或空间限制内运行。这种优化通常针对特定评测环境&#xff0c;目的是通过微调代码来通过严格的时间或空间限制。 说人话 例//我是正解 #include<bits/stdc.h> using namespace st…...

GitHub宝藏库awesome-llm-apps:LLM应用开发灵感与实战指南

1. 项目概述&#xff1a;一个汇聚LLM应用灵感的“藏宝图”最近在GitHub上闲逛&#xff0c;发现了一个让我眼前一亮的仓库&#xff1a;Shubhamsaboo/awesome-llm-apps。这可不是一个普通的代码库&#xff0c;它更像是一张由全球开发者共同绘制的“藏宝图”&#xff0c;专门标记那…...

TCP、UDP、ARP、Socket 与网络加密协议知识点整理——【2026】软考中级知识整理

TCP、UDP、ARP、Socket 与网络加密协议知识点整理 在计算机网络中&#xff0c;TCP、UDP、IP、ARP、ICMP、Socket、PPP、IPSec 等概念经常一起出现&#xff0c;也容易混淆。本文主要从协议层次、核心作用、典型应用和考试常见考点几个角度进行整理。 出自&#xff1a;智澈乐尚网…...

深度强化学习实战:从DQN到PPO的算法实现与调参指南

1. 项目概述与核心价值如果你对深度强化学习&#xff08;Deep Reinforcement Learning, DRL&#xff09;感兴趣&#xff0c;并且不止一次地尝试过复现论文里的算法&#xff0c;结果却卡在环境配置、代码调试或者算法细节的“最后一公里”上&#xff0c;那么这个名为“awjuliani…...

【Backend Flow工程实践 08】LEF / Liberty / Verilog / DEF:Backend Flow 为什么依赖多格式协同?

作者&#xff1a;Darren H. Chen 方向&#xff1a;Backend Flow / 后端实现流程 / 工程自动化 / 验证基础设施 demo&#xff1a;LAY-BE-08_standard_formats 标签&#xff1a;EDA、Backend Flow、后端实现、LEF、Liberty、Verilog、DEF、标准格式、Design Import、Library Cont…...

惯性摩擦焊机早期故障检测与排除技术实现【附代码】

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导&#xff0c;毕业论文、期刊论文经验交流。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;查看文章底部二维码 &#xff08;1&#xff09;两重分段威布尔模型与早期故障拐点求解&#xff1…...

零基础极速上手:普通人如何用AI建站工具10分钟搭建个人网站

零基础极速上手&#xff1a;普通人如何用AI建站工具10分钟搭建个人网站很多人觉得搭建网站是程序员和设计师的专属技能&#xff0c;自己完全不懂技术&#xff0c;就算有AI帮忙也无从下手。其实&#xff0c;当下的AI建站工具已经将这个过程简化到了极致&#xff1a;你只需要像聊…...

幼儿识字动画 1000 字 动画

本文为家庭学习整理资料&#xff0c;仅供个人学习使用&#xff0c;侵删。 资源名称&#xff1a;幼儿识字动画 1000 字 动画 适合年龄&#xff1a;3–8 岁 内容简介&#xff1a;系统识字动画&#xff0c;帮助孩子轻松掌握 1000 个常用字。 学习资料获取方式&#xff1a; ht…...

AI建站工具怎么选:一份中立实用的选型标准与对比指南

AI建站工具怎么选&#xff1a;一份中立实用的选型标准与对比指南面对市面上五花八门的AI建站工具&#xff0c;很多人都会陷入选择困难。是选那个号称完全不用写代码的&#xff0c;还是选那个功能看起来更强大的&#xff1f;生成的代码能不能商用&#xff1f;会不会有安全隐患&a…...

DBO-VMD-HT高压直流线路故障定位系统设计【附代码】

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导&#xff0c;毕业论文、期刊论文经验交流。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;查看文章底部二维码 &#xff08;1&#xff09;蜣螂优化算法自适应优化VMD参数&#xff1a; 针对…...

AI智能体文件感知规划:让AI在行动前先读懂你的文件

1. 项目概述&#xff1a;当AI规划器学会“读文件”最近在折腾AI智能体&#xff08;Agent&#xff09;和自动化工作流&#xff0c;我发现一个挺有意思的痛点&#xff1a;很多规划任务&#xff0c;比如写周报、整理会议纪要、分析数据&#xff0c;其实都离不开对现有文件的处理。…...

医疗AI训练数据安全红线(MCP 2026脱敏配置终极 checklist)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;医疗AI训练数据安全红线的法律与伦理基线 医疗AI模型的训练高度依赖高质量、大规模、标注精准的临床数据&#xff0c;但此类数据天然承载患者隐私、生命权益与社会信任。因此&#xff0c;数据采集、脱敏…...

多智能体系统在医疗领域的应用:架构设计与工程实践

1. 项目概述&#xff1a;一个面向医疗领域的多智能体协作系统最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“Multi-Agent-Medical-Assistant”。光看名字&#xff0c;就能猜到它想干什么&#xff1a;用多个AI智能体来协作&#xff0c;扮演一个医疗助理的角色。这其实戳…...

MCP国产化部署卡在麒麟V10?手把手教你绕过OpenEuler兼容性雷区(附调试日志对照表)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;MCP国产化部署卡在麒麟V10&#xff1f;手把手教你绕过OpenEuler兼容性雷区&#xff08;附调试日志对照表&#xff09; 在麒麟V10 SP1&#xff08;内核 4.19.90-23.8.v2101.ky10.aarch64&#xff09;上部…...