Redis常用面试题

什么是缓存穿透 ? 怎么解决 ?

缓存穿透是指大量查询不存在的数据,当每次请求都在redis缓存查询不到信息,则这些大量的查询操作每次都会去查询数据库,则会导致数据库崩溃。

解决方法一缓存空数据,查询返回的数据为空,仍把这个空结果进行缓存。

优点: 简单。

缺点:消耗内存,可能会发生不一致的问题。

解决方案二:布隆过滤器

优点:内存占用较少,没有多余key

缺点:实现复杂,存在误判

 什么是缓存击穿 ? 怎么解决 ?

缓存击穿是指设置过期时间的key,当某个key过期时恰好有大量的key并发访问导致数据库崩塌。

解决方案一:互斥锁

解决方案二:逻辑过期

什么是缓存雪崩 ? 怎么解决 ?

缓存雪崩就是大量的key同时过期导致。导致请求直接往数据库进行访问导致数据库压力过大而崩溃。

解决方案:

给不同的KeyTTL添加随机值
利用Redis集群提高服务的可用性
给缓存业务添加降级限流策略
给业务添加多级缓存

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值