分布式缓存的四大痛点

news2024/12/25 10:30:38

目前开发中经常用到的缓存,是我们必不可缺的,他大大的提高了我们整个项目的响应速度和并发量。但是带来好处的同时,也给我们带了了新的问题:缓存穿透、缓存击穿、缓存雪崩以及缓存一致性这么四个问题,也是分布式缓存的四大痛点!
# 缓存穿透
什么叫缓存穿透呢?

缓存穿透:就是请求在缓存中没有命中,去请求数据库。

缓存穿透带来的危害就是,假如他一直请求,找不到这个数据,便会去请求数据库,不断的请求就会造成服务的性能故障,导致服务宕机。

这里说一种最简单的解决方案。当在数据库中查不到数据,我们就将null存在缓存中,然后赋值一个过期时间即可,这样就能减少数据库的请求次数。

# 缓存击穿

缓存击穿,就是一部分缓存,同时后期了, 最终大量的请求去查询数据库了。
解决他也是很容易的,将我们的缓存设置不过期、过期时间分散,或者在请求的时候更新缓存的过期时间,这三种都可以很好的解决我们的问题

# 缓存雪崩

缓存雪崩,当我们缓存系统意外宕机或者故障了,流量瞬间切换到数据库,数据服务宕机后导致其他服务挂掉,形成了一连串的故障。

这里解决的方案我们也准备了,首先就是缓存做高可用,主从等等,另外也可以通过限流,当缓存出现故障,我们限制访问的流量来解决

# 缓存的一致性
最后一个问题,缓存数据的一致性,也是最难搞得一个棘手问题。

相信我不说,大家也知道他是什么意思。就是缓存和数据库中的数据不一致!

解决方案:

- 当读取缓存的时候,如果缓存里没有相关数据,则执行相关的业务逻辑,构造缓存数据存入到缓存系统;
- 当与缓存项相关的资源有变动,则先删除相应的缓存项,然后在数据库中对资源进行更新

更多编程内容,请关注公众号《coder练习生》‘,如果觉得有用,也可赠送作者一杯咖啡

 

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

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

相关文章

LeetCode算法之----动态规划

点赞收藏,以防遗忘 本文【程序大视界】已收录,关注免费领取互联网大厂学习资料,添加博主好友进群学习交流,欢迎留言和评论,一起交流共同进步。 目录 【一】前言 【二】打家劫舍 【三】不同路径 【四】最小路径和 …

【数据预处理】基于Kettle的字符串数据清洗、Kettle的字段清洗、Kettle的使用参照表集成数据

文章目录一.前言1.1 实验内容二.实验过程2.1 实验内容一:掌握基于Kettle的字符串数据清洗2.2 实验内容二:掌握基于Kettle的字段清洗2.3 实验内容三:掌握基于Kettle的使用参照表集成数据2.4 实验心得:一.前言 需要本文章的源文件下…

用零知识证明连接多链宇宙

目录 一、前言 二、Bridges和Zero Knowledge Proofs 三、Succinct Verification of Proof of Consensus (Succinct Labs)

【自然语言处理】【ChatGPT系列】ChatGPT的智能来自哪里?

相关博客 【自然语言处理】【ChatGPT系列】ChatGPT的智能来自哪里? 【自然语言处理】【ChatGPT系列】Chain of Thought:从大模型中引导出推理能力 【自然语言处理】【ChatGPT系列】InstructGPT:遵循人类反馈指令来训练语言模型 【自然语言处理…

二叉搜索树与Mysql索引的亲密关系

欢迎关注公众号:【离心计划】,一起逃离技术舒适圈 二叉搜索树 二叉搜索树大家应该多多少少听过,它有一个很重要的特征,就是父节点左子树所有结点的值小于父节点的值,右子树所有结点的值大于父节点的值,这个…

详解vue中vuex的用法

前言 说到 vuex 相信大家都不陌生,vuex 是一个专为 vue.js 应用程序开发的状态管理模式。vuex 背后的基本思想,就是单向数据流。今天我们就来好好聊聊 vuex。 vuex? 用官方的话来说,vuex 是一个专为 vue.js 应用程序开发的状态管…

【Linux】进程间通信之共享内存与信号量初识

目录🌈前言🌸1、System V共享内存🍡1.1、概念🍢1.2、原理🌺2、共享内存相关函数和指令🍡2.1、shmget函数(创建)🍢2.2、shmctl函数(控制)&#x1f…

使用 DataAnnotations(数据注解)实现模型的通用数据校验

DataAnnotations 实现数据模型的通用校验参数校验的意义常用参数的校验.NET 中内置 DataAnnotations 提供的特性校验关于 DataAnnotations 中的特性介绍基于 DataAnnotations 的通用模型校验封装基于 DataAnnotations 的特性校验助手实现步骤如何使用 DataAnnotations 封装的特…

某农业学校 算法设计与分析-第五次实验-回溯算法

1. 罗密欧与朱丽叶的迷宫问题 问题描述 罗密欧与朱丽叶的迷宫。罗密欧与朱丽叶身处一个mn的迷宫中,如图所示。每一个方格表示迷宫中的一个房间。这mn个房间中有一些房间是封闭的,不允许任何人进入。在迷宫中任何位置均可沿8 个方向进入未封闭的房间。罗…

第二章:关系数据库

一、关系数据库结构及形式化定义 1、【单选题】 下图中,关系D1、D2、D3笛卡尔积的目和基数分别为 正确答案: B 2、【多选题】下图中能够作为候选码的属性组为 正确答案: ABD 3、【多选题】关于关系数据库,说法正确的是 正确答…

二、栈和队列

二、栈和队列 栈——后进先出 应用:数制转换、括号匹配、行编辑程序、迷宫求解、表达式求值、八皇后问题、函数调用、递归调用的实现 队列——先进先出 应用:脱机打印输出 多用户系统用户排队分时循环使用CPU和主存 按用户优先级排队,每…

编译gtest报错‘is_trivially_copy_constructible’ is not a member of ‘std’

编译gtest报错‘is_trivially_copy_constructible’ is not a member of ‘std’一、问题描述二、原因分析三、升级gcc版本四、验证一、问题描述 在一个新的Redhat7.6 linux虚拟机上,将gtest clone下来之后编译,一堆报错: /opt/googletest/…

多线程问题(二)(安全问题)

目录 一、多线程不安全引例 二、线程不安全的原因 1、线程是抢占式执行 2、多线程共享同一变量 3、对变量的操作不是原子性 4、内存可见性 5、指令重排序 三、线程不安全问题的解决方案 1、使用synchronized关键字进行加锁 a、 synchronized修饰普通方法 b、sy…

Maleimide-PEG-Biotin,Biotin-PEG-MAL,生物素PEG马来酰亚胺用于生物分子检测

化学试剂生物素聚乙二醇马来酰亚胺,其英文名为Maleimide-PEG-Biotin,Biotin-PEG-MAL,它所属分类为Biotin PEG Multi-arm PEGs。 该试剂质量控制为95%,试剂的储存条件为: -20℃长期保存,避光,干…

数据结构---图

(一) 相关知识点 图(graph):图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中的顶点的集合,E是图G…

SpringBoot系列之自动装配原理详解

文章目录前言一、SpringBoot自动配置-Condition-11、观察spring自动创建bean过程2、创建自定义bean对象3、根据条件创建自定义bean二、 SpringBoot自动配置-Condition-2三、SpringBoot自动配置-切换内置web服务器1、查看继承关系图2、shiftdelete 排除Tomcat四、SpringBoot自动…

Win10启动Pycharm报错

Win10启动Pycharm报错报错信息解决方法报错信息 Internal error. Please report to http://jb.gg/ide/critical-startup-errors java.net.BindException: Address already in use: bind at java.base/sun.nio.ch.Net.bind0(Native Method) at java.base/sun.nio.ch.Net.bind(U…

如何在3个月内写出博士论文

在阅读本文之前,请注意:我花了三年半的时间进行全职研究,为我的博士论文收集数据;这三个月只涉及写作,我在最后很快就完成了。我并不是说每个人都能写得那么快,如果你没有做过研究,那是不可能的…

全国各省368个地级市河流密度数据(工具变量)

数据来源:国家基础地理信息中心 时间跨度:-- 区域范围:全国各省市 指标说明: 根据河流矢量和中国城市行政边界矢量地理信息,计算每个城市河流的总长度;根据各城市的行政区划面积,计算中国各城…

第三章:关系数据库标准语言SQL

一、sql概述和数据定义 1、【单选题】 create user A identified by B default tablespace C temporary tablespace D; 上述oracle数据库查询语句中A、B、C、D分别代表: 正确答案: A 2、【单选题】下表为患者缴费记录,现需…