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

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

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

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

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

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

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

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

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

相关推荐
sg_knight9 分钟前
Ribbon负载均衡实战指南:7种策略选择与生产避坑
java·spring boot·spring·spring cloud·微服务·ribbon·负载均衡
Java初学者小白41 分钟前
秋招Day12 - 计算机网络 - 网络安全
java
蔡蓝1 小时前
设计模式-适配器模式
java·设计模式·适配器模式
寒冰碧海1 小时前
Spring Boot循环依赖全场景解析与终极解决方案
java·spring boot·后端
狮子也疯狂1 小时前
基于Spring Boot的校园社区平台设计与实现
java·spring boot·后端
AllWe$2 小时前
十、MySQL InnoDB引擎底层解析
java·数据库·mysql
嫄码2 小时前
kafka快速入门与知识汇总
java·大数据·分布式·中间件·kafka·linq
The Future is mine2 小时前
SpringDoc集成到Springboot
java·数据库·spring boot
书语时2 小时前
Spring @Autowired解析
java·后端·spring
每次的天空2 小时前
Android第十七次面试总结(Java数据结构)
android·java·面试