Java面试八股之使用Redis会有哪些问题?击穿、穿透、雪崩等

  1. 使用Redis会有哪些问题?击穿、穿透、雪崩等

击穿:热点数据过期,大量并发请求被发送到数据库。

解决:设置热点数据永不过期,后台更新;增加互斥锁机制,第一个请求发现缓存失效后,从数据库获取,并更新缓存,后续请求继续从缓存中读取最新数据。

穿透:注意这个透字,顾名思义就是redis和数据库中都没有找到请求的数据,一般是非法请求或者尝试获取数据库中不存在的数据。

解决:缓存null值,防止出现请求穿透。增加请求验证,避免非法请求发送到Redis和数据库。布隆过滤器

雪崩:大量key同时过期失效,大量请求被发送到数据库。通常是因为大量key的过期时间设置成相同时间,或者Redis服务器宕机。

解决:部署哨兵模式或集群模式,防止服务宕机。设置随机的过期时间,避免大量key同时过期。

如果大家需要视频版本的讲解,欢迎关注我的B站:

相关推荐
策案案案10 分钟前
YOLO: 将AI Agents嵌入到IntelliJ IDEA
java·大数据·人工智能·笔记·yolo·microsoft·intellij-idea
努力努力再努力wz21 分钟前
【Redis入门系列】从 KEYS 到 SCAN:渐进式遍历、Cursor 与位反转原理
数据库·redis·缓存
辰烨chenye1 小时前
LeetCode Hot 100 题解 · 堆篇
java·算法·leetcode
互联网叫兽1 小时前
redis深入学习一
redis
shehuiyuelaiyuehao2 小时前
算法29,前缀和,除自身以外的数组的乘积
java·数据结构·算法
小刘在重生~2 小时前
Java常用类|String类详解 + BigDecimal精准计算(含面试题)
java·开发语言·python
随遇而安zx2 小时前
【多线程】---JMM 与 volatile 深度解析
java·多线程
邪修king3 小时前
Re:Linux系统篇(十九):进程篇(八): 进程等待详解:wait/waitpid,僵尸进程到底该如何回收
java·开发语言
啵啵啵鱼3 小时前
DS-顺序表
java·数据结构·笔记·后端·链表·obsidian