redis缓存篇知识点总结

server/2025/1/15 7:47:39/

1.缓存雪崩
当大量缓存数据在同一时间过期(失效)或者 Redis 故障宕机时,如果此时有大量的用户请求,都无法在 Redis 中处理,于是全部请求都直接访问数据库,从而导致数据库的压力骤增,严重的会造成数据库宕机,从而形成一系列连锁反应,造成整个系统崩溃

发生缓存雪崩有两个原因:

1.大量数据同时过期;
2.Redis 故障宕机;

大量数据同时过期应对方法:

均匀设置过期时间;
互斥锁;
后台更新缓存

均匀设置过期时间:
避免将大量的数据设置成同一个过期时间,在对缓存数据设置过期时间时,给这些数据的过期时间加上一个随机数,这样就保证数据不会在同一时间过期

双 key 策略:
我们对缓存数据可以使用两个 key,一个是主 key,会设置过期时间,一个是备 key,不会设置过期,它们只是 key 不一样,但是 value 值是一样的,相当于给缓存数据做了个副本。

当业务线程访问不到「主 key 」的缓存数据时,就直接返回「备 key 」的缓存数据,然后在更新缓存的时候,同时更新「主 key 」和「备 key 」的数据

互斥锁:
当业务线程在处理用户请求时,如果发现访问的数据不在 Redis 里,就加个互斥锁,保证同一时间内只有一个


http://www.ppmy.cn/server/158488.html

相关文章

STM32-PWR电源控制

1.0 定义 PWR(Power Control)电源控制 PWR负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能 可编程电压监测器(PVD)可以监控VDD电源电压,当VDD下降到PVD阀值以下或上升到PVD阀…

【面试题】技术场景 4、负责项目时遇到的棘手问题及解决方法

工作经验一年以上程序员必问问题 面试题概述 问题为在负责项目时遇到的棘手问题及解决方法,主要考察开发经验与技术水平,回答不佳会影响面试印象。提供四个回答方向,准备其中一个方向即可。 1、设计模式应用方向 以登录为例,未…

数据结构------树

前言:前面我们学习了栈和队列。今天我们来学习一种新的数据结构---------树。 首先我们来了解一下树的概念。 1.树的概念与结构 前面我们学习过的顺序表,栈都是一种顺序结构。链表,队列是链式结构。今天学习的树也是一种链式结构。它是由n…

面向对象分析与设计Python版 面向对象设计方法

文章目录 前言一、职责驱动设计二、职责驱动设计-案例 前言 面向对象设计目标:在面向对象分析建立的领域模型的基础上,定义对象操作(职责)。为对象分配职责的方法有: 职责驱动设计遵循GRASP设计原则(Gene…

面试题:Java中并发并行串行的区别

在 Java 中,并发、并行和串行是三个常见的概念,它们描述了程序中任务执行的不同方式。虽然它们之间存在某些相似之处,但它们的实现和用途有显著的区别。 1. 串行 (Serial) 串行是指任务按照顺序一个接一个地执行,前一个任务完成…

微服务之松耦合

参考:https://microservices.io/post/architecture/2023/03/28/microservice-architecture-essentials-loose-coupling.html There’s actually two different types of coupling: runtime coupling - influences availability design-time coupling - influences…

通信网络安全分层及关键技术解决

要实现信息化,就必须重视信息网络安全。信息网络安全绝不仅是IT行业的问题,而是一个社会问题,是一个包括多学科的系统安全工程问题,并直接关系到国家安全。因此,知名安全专家沈昌祥院士呼吁,要像重视两弹一…

【机器人】SceneGrasp 同时支持3D物体重建、6D位姿估计、抓取点估计

本文分享SceneGrasp,它来自IROS2023,同时支持物体分类、3D物体重建、6D位姿估计、抓取点估计。 它是一种快速、高效且同时处理多个任务的方法,能够使机器人更好地理解和操作其环境。 同时处理多个任务,实现任务之间共享信息&…