redis之缓存穿透、缓存击穿和缓存雪崩

redis之缓存穿透、缓存击穿和缓存雪崩

游戏|数码彩彩2024-03-16 7:39:44397A+A-

一、缓存穿透

1.何为缓存穿透?

缓存穿透,是指查询一个数据库一定不存在的数据。正常的使用缓存流程大致是,数据查询先进行缓存查询,如果key不存在或者key已经过期,再对数据库进行查询,并把查询到的对象,放进缓存。如果数据库查询对象为空,则不放进缓存。

2.缓存穿透解决方案

1)布隆过滤器拦截不存在的请求

2)redis缓存不存在的值

3)按照业务需要,设定规则直接进行拦截,比如用户id,要求id>0

二、缓存击穿

1.何为缓存击穿?

缓存击穿,是指一个key非常热点,在不停的扛着大并发,大并发集中对这一个点进行访问,当这个key在失效的瞬间,持续的大并发就穿破缓存,直接请求数据库,就像在一个屏障上凿开了一个洞。

2.缓存击穿解决方案

1)设置数据永远不过期

2)加分布式锁,单线程查询数据库

三、缓存雪崩

1.何为缓存雪崩?

缓存雪崩,是指在某一个时间段,缓存集中过期失效。

2.缓存雪崩解决方案

1)缓存数据的过期时间设置为随机值

2)数据设置永不过期

点击这里复制本文地址 版权声明:本文内容由网友提供,该文观点仅代表作者本人。本站(https://www.angyang.net.cn)仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

昂扬百科 © All Rights Reserved.  渝ICP备2023000803号-3网赚杂谈