首页 > 数据库 >Redis篇-redis使用场景-缓存-缓存雪崩-04

Redis篇-redis使用场景-缓存-缓存雪崩-04

时间:2024-01-25 19:45:53浏览次数:35  
标签:缓存 04 过期 Redis 雪崩 key 失效

1 缓存雪崩

缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。

解决方案:

  • 给不同Key的TTL添加随机值;
  • 利用Redis集群提高服务的可用性; 哨兵模式、集群模式
  • 给缓存业务添加降级限流策略;ngxin 或 springcloud Gateway
  • 给业务添加多级缓存;Guava 或 Caffeine

面试文稿:什么是缓存雪崩?怎么解决?

答案:嗯!!缓存雪崩意思是设置缓存时采用了相同的过期时间,导致缓存在某一时刻同时失效,请求全部转发到DB,DB瞬时压力过重雪崩。与缓存击穿的区别:雪崩是很多key,击穿是某一个key缓存;

解决方案主要是可以将缓存失效时间分散开,比如可以在原有的失效时间基础上增加一个随机值,比如1~5分钟随机,这样每一个缓存的过期时间的重复率就会降低,就很难引发集体失效的事件。

《缓存三兄弟》

穿透无中生有key,布隆过滤null隔离;

缓存击穿过期key,锁与非期解难题;(非期:逻辑过期 或者 热点key设置为不过期)

雪崩大量过期key,过期时间要随机;

面试必考三兄弟,可用限流来保底。

原视频链接:https://www.bilibili.com/video/BV1yT411H7YK/?share_source=copy_web&vd_source=a11a8239173c7ecc0df19a35b38b8679

标签:缓存,04,过期,Redis,雪崩,key,失效
From: https://www.cnblogs.com/daytoy105/p/17974341

相关文章

  • 04
    publicclassDemo04{publicstaticvoidmain(String[]args){inti=128;doubleb=i;//内存溢出//强制转换(类型)变量名高---->低//自动转换低---->高System.out.println(i);System.out.println(b);/*注意点:1.不能对布尔......
  • P1504积木堡垒(简略)
    用DP枚举出每一个的能到达的高度,进行\(n\)次背包即可,\(ans[]\)记录高度\(j\)是否可行,高度\(j\)可行\(n\)次就是答案,\(j\)从\(maxn\)开始枚举//dp[i][j]表示前i个表示高度为j的存不存在//dp[i][j]=dp[i-1][j],dp[i][j]=dp[i-1][j-a[i]];选或者不选//顺序的话dp[j......
  • go-zero配置DB的redis缓存
    配置定义:#catinternal/config/config.gopackageconfigimport( "github.com/zeromicro/go-zero/rest" "github.com/zeromicro/go-zero/core/stores/cache")typeConfigstruct{ rest.RestConf CacheRediscache.CacheConf}对应的配置文件:#cat......
  • 洛谷题单指南-模拟和高精度-P1045 [NOIP2003 普及组] 麦森数
    原题链接:https://www.luogu.com.cn/problem/P1045题意解读:要计算2p-1的位数和最后500位,实际上只需要计算2p,两者位数一致,前者比后者个位减1即可,且个位肯定不会是0,比较容易处理。解题思路:如果直接采用高精度乘法计算2p,p最大3.1*106,高精度所用数组最长大概9*105,一共最多计算3.......
  • solution-at-agc044-c
    stonantforz正文算得上相当有意思以及启发性的数据结构题了。三进制表示联想到我们可以建立一个三叉树。类似于Trie一样的,按三进制从低位到高位建立一个Trie树。一个非常好的性质这是一个完美三叉树。接下来我们可以考虑怎么维护每一种操作。Salasa舞对于这种操作,相......
  • Ubuntu 20.04修改ip地址(Netplan)
    更新IP地址的步骤Netplan配置文件位于/etc/netplan/下。使用以下命令打开对应目录:cd/etc/netplan/编辑Netplan配置文件sudovi00-installer-config.yaml默认情况下,Ubuntu20.04使用YAML格式编写Netplan配置文件,例如00-installer-config.yaml。配置样例en......
  • Ubuntu 22.04.1 LTS 安装 supervisor
    Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进......
  • Redis实战篇
    实战篇Redis优秀博客黑马点评项目学习笔记(15w字详解,堪称史上最详细,欢迎收藏)-CSDN博客Redis实战篇|Kyle'sBlog(cyborg2077.github.io)开篇导读hutol工具使用对象bean和JsonStr互转//功能:javabean转jsonstr用途:存入到redisStringjsonstr=JSONUtil.toJsonSt......
  • Ubuntu 20.04修改ip地址(Netplan)
    Ubuntu20.04修改ip地址什么是Netplan从Ubuntu17.10开始,Canonical引入了一个名为Netplan的新工具,用于网络设置管理。这里是从命令行在Ubuntu系统上配置静态IP的步骤。Netplan是用于在Linux系统上轻松配置网络的实用程序。您只需为所需的网络接口以及每个接口应配置的功能创建一......
  • 基于Redis的Stream类型的完美消息队列解决方案(全)
    1概述2追加新消息,XADD,生产消息3从消息队列中获取消息,XREAD,消费消息4消息ID说明5消费者组模式,consumergroup6Pending等待列表7消息转移8坏消息问题,DeadLetter,死信问题9信息监控,XINFO10命令一览11Stream数据结构,RadixTree,基数树12相关产品1概述Redis5.......