Redis:缓存雪崩

缓存雪崩

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

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

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

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

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

解决方案

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

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

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

    • 构建 Redis 缓存高可靠集群
相关推荐
观远数据6 分钟前
在线数据分析网站有哪些?7款自助平台选型指南
大数据·数据库·数据分析
小王子10246 分钟前
Redis Queue 安装与使用
redis·python·任务队列·rq·redis queue
不想写bug呀9 分钟前
Redis集群介绍
数据库·redis·缓存
派大鑫wink12 分钟前
【Day47】MyBatis 进阶:动态 SQL、关联查询(一对一 / 一对多)
数据库·sql·mybatis
biter008813 分钟前
Ubuntu 上搜狗输入法突然“消失 / 只能英文”的排查与修复教程
linux·数据库·ubuntu
何以不说话14 分钟前
MyCat实现 MySQL 读写分离
数据库·mysql
齐 飞20 分钟前
SQL server使用MybatisPlus查询SQL加上WITH (NOLOCK)
数据库·mysql·sqlserver
_F_y21 分钟前
MySQL表的增删查改
android·数据库·mysql
yangSnowy21 分钟前
Redis数据类型
数据库·redis·wpf
@我不是大鹏26 分钟前
3、Spring AI Alibaba(SAA)零基础速通实战之Ollama私有化部署和对接本地大模型
数据库·人工智能·spring