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

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

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

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

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

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

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

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

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

相关推荐
折翼的恶魔几秒前
SQL190 0级用户高难度试卷的平均用时和平均得分
java·数据库
Mos_x11 分钟前
Python爬虫---中国大学MOOC爬取数据(文中有
java·后端
一周困⁸天.1 小时前
Redis 主从复制
linux·redis
_安晓1 小时前
Rust 中精确大小迭代器(ExactSizeIterator)的深度解析与实践
java·前端·python
苦学编程的谢1 小时前
Redis_3_Redis介绍+常见命令
数据库·redis·github
2301_802939901 小时前
从零开始学习Redis(五):多级缓存
redis·学习·缓存
Javatutouhouduan1 小时前
记一次redis主从切换导致的数据丢失与陷入只读状态故障
java·redis·设计模式·java面试·高可用·java后端·java程序员
无关86881 小时前
Redis BigKey场景实战
redis
JavaEdge.1 小时前
榨干 CPU 性能:通过绑核将 Redis 尾延迟减半!
数据库·redis·缓存
YDS8291 小时前
Redis入门 —— 基本数据类型和Spring Data Redis
数据库·redis·spring