Redis:缓存雪崩

缓存雪崩

​ 缓存雪崩是指当缓存中有大量的key在同一时刻过期,或者Redis直接宕机了,导致大量的查询请求全部到达数据库,造成数据库查询压力骤增,甚至直接挂掉。

​ 和缓存击穿不同的是,缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库。

*** 现象 ** :数据库的访问压力瞬间激增,服务负载过高

产生雪崩的原因大致有两种

  • 缓存系统不可用
  • 大量的key在同一时间失效,导致大量数据回源

解决方案

  • 1、差异化缓存过期时间

    • 避免缓存设置相近的有效期,我们可以在设置有效期时增加随机值;
  • 2、缓存永不过期,后台线程刷新

    • 初始化缓存数据的时候设置缓存永不过期,然后启动一个后台线程 30 秒一次定时把所有数据更新到缓存,而且通过适当的休眠,控制从数据库更新数据的频率,降低数据库压力
  • 3、增强redis的高可用性

    • 构建 Redis 缓存高可靠集群
相关推荐
想要入门的程序猿9 分钟前
Qt写入excel
数据库·qt·excel
Q_9709563932 分钟前
java+vue+SpringBoo校园失物招领网站(程序+数据库+报告+部署教程+答辩指导)
java·数据库·vue.js
Wyc7240940 分钟前
Maven
java·数据库·maven
程序猿小D43 分钟前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的电影小说网站管理系统,推荐!
java·数据库·mysql·spring·毕业设计·ssm框架·电影小说网站
羊小猪~~1 小时前
数据库学习笔记(十七)--触发器的使用
数据库·人工智能·后端·sql·深度学习·mysql·考研
野蛮人6号1 小时前
黑马点评系列问题之基础篇p7 06初识redis无法在虚拟机查到图形化界面存进去的键
redis·黑马点评
CodeWithMe1 小时前
【Note】《深入理解Linux内核》 Chapter 15 :深入理解 Linux 页缓存
linux·spring·缓存
背太阳的牧羊人2 小时前
Neo4j 的向量搜索(Neo4jVector)和常见的向量数据库(比如 Milvus、Qdrant)之间的区别与联系
数据库·neo4j·milvus
liulun2 小时前
在浏览器中使用SQLite(官方sqlite3.wasm)
数据库·sqlite·wasm
IT项目管理3 小时前
达梦数据库DMHS介绍及安装部署
linux·数据库