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

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

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

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

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

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

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

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

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

相关推荐
像风一样自由20203 分钟前
MQTT协议技术详解:深入理解物联网通信基础
java·物联网·struts
oneDay++19 分钟前
# IntelliJ IDEA企业版开发入门:包、类与项目结构详解
java·经验分享·学习·intellij-idea·学习方法
程序员阿鹏20 分钟前
Git的安装和配置(idea中配置Git)
java·开发语言·ide·git·intellij-idea·idea
Musennn1 小时前
102. 二叉树的层序遍历详解:队列操作与层级分组的核心逻辑
java·数据结构·算法·leetcode
越来越无动于衷1 小时前
java数组题(5)
java·算法
Mikey_n1 小时前
Spring Boot 注解详细解析:解锁高效开发的密钥
java·spring boot·后端
_yingty_1 小时前
Java设计模式-策略模式(行为型)
java·设计模式·策略模式
小小寂寞的城2 小时前
Jenkins里构建一个简单流水线
java·运维·jenkins
软件测试媛2 小时前
软件测试——面试八股文(入门篇)
软件测试·面试·职场和发展
wowocpp2 小时前
idea springboot 配置文件 中文显示
java·spring boot·intellij-idea