课堂课题:
什么叫穿透DB?什么情况下会发生,穿透DB后会发生什么事情?
关联任务:
任务五
直播时间:
2019-08-16 15:30:00
课堂内容:
视频链接:
PPT链接:
提交按钮:
小课堂内容格式
标题:
【修真院xx(职业)小课堂】课题名称
开场语:
大家好,我是IT修真院XX分院第X期的学员XX,一枚正直纯洁善良的XX程序员,今天给大家分享一下,修真院官网XX(职业)任务X,深度思考中的知识点——XXX
(1)背景介绍:
背景介绍的时候,尽可能的要宽广,讲清楚来龙去脉,讲清楚为什么会需要这个技术。
(2)知识剖析:
讲知识点的时候,尽可能的成体系,学会成体系的去给别人介绍知识。现在很多做的都是零散的,没有分类。
(3)常见问题:
最少列出1个常见问题。
(4)解决方案:
写清楚常见问题的解决方案。
(5)编码实战:
尽可能的去寻找在真实项目中在用的。如果你能找到某个网站在用你说的知识点,这是最好的。学以致用,否则当成练习题就没有意义了。多准备一些demo,讲解过程中将知识点和demo结合,便于大家理解所讲解的知识点。
(6)拓展思考:
知识点之外的拓展思考,由分享人进行讲解,这些东西就是所谓的深度,也是一个人技术水准高低比较的表现。
(7)参考文献:
引入参加文献的时候,在引用的句子后面加上序号【1】。参考文献中列出详细来源。不要去抄别人的东西,这是一个基本的态度。
(8)更多讨论:
Q1:提问人:问题?
A1:回答人(可以是分享人,也可以是其他学员):回答
Q2:提问人:问题?
A2:回答人(可以是分享人,也可以是其他学员):回答
Q3:提问人:问题?
A3:回答人(可以是分享人,也可以是其他学员):回答
(9)鸣谢:
感谢XX、XX师兄,此教程是在他们之前技术分享的基础上完善而成。
(10)结束语:
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
【修真院java 小课堂】什么叫穿透DB?什么情况下会发生,穿透DB后会发生什么事情?
大家好,我是IT修真院深圳分院第16期的学员廖志鹏,一枚正直纯洁善良的java后端程序员,今天给大家分享一下,修真院官网java任务六,深度思考中的知识点
1.背景介绍
什么叫穿透DB?
准确说应该叫缓存穿透,高并发请求集体访问数据库,导致数据库负载剧增甚至崩溃
2.知识剖析
什么情况下会发生缓存穿透?
缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。
3.常见问题
如何预防缓存穿透?
解决方案:
接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截;
从缓存取不到的数据,在数据库中也没有取到,这时也可以将key-value对写为key-null,
缓存有效时间可以设置短点,如30秒(设置太长会导致正常情况也没法使用)。这样可以防止攻击用户反复用同一个id暴力攻击
4.编码实战
<> () { =.opsForValue().get(+ )(!= ) { (.().equals()){ .info()}{ .info()<> = (<>) } } { <> = .selectBySearch().info(.(.size()))(.size()==) { .info().opsForValue().set(+ .)} { .opsForValue().set(+ .).info()} } }
5.扩展思考
缓存击穿
描述:
缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),
这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据, 引起数据库压力瞬间增大,造成过大压力
解决方案:
设置热点数据永远不过期。
缓存雪崩
描述:
缓存雪崩是指缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至down机。和缓存击穿不同的是, 缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库。 解决方案:
缓存数据的过期时间设置随机,防止同一时间大量数据过期现象发生。
如果缓存数据库是分布式部署,将热点数据均匀分布在不同搞得缓存数据库中。
6.参考文献
https://blog.csdn.net/kongtiao5/article/details/82771694
7.更多讨论
问:1、正常使用,会出现缓存穿透的情况吗?
答:一般来说不会,但是如果应用用户人数过多的话,也是有可能出现这样的问题
问:2、什么样的接口应该做缓存穿透?
答:一般只有变动不大的数据才会放到缓存中,所以这种数据一般也不会出现缓存穿透的情况,一般使用不会出现,除非恶意攻击
问:3、缓存穿透严重的话,会出现什么样的后果?
答:可能造成数据库挂掉
8.结束语:
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
[散修弟子]JAVA-7190 发表于 2019-11-16 17:47:57 #1
符合格式,通过
回复