关闭→
当前位置:尚之范>生活>心理>数据穿透是什么

数据穿透是什么

尚之范 人气:2.45W
数据穿透是什么

缓存穿透:缓存和数据库中都没有的数据,而用户(黑客)不断发起请求。

例子

我们数据库的 id 都是从 1 自增的,如果发起 id=-1 的数据或者 id 特别大不存在的数据,这样的不断攻击导致数据库压力很大,严重会击垮数据库。

解决

1)增加校验。比如用户鉴权,参数做校验,不合法的校验直接 return,比如 id 做基础校验,id<=0 直接拦截

2)布隆过滤器。Redis 里还有一个高级用法布隆过滤器(Bloom Filter)这个也能很好的预防缓存穿透的发生。

它的原理也很简单,就是利用高效的数据结构和算法快速判断出你这个 Key 是否在数据库中存在,不存在你 return 就好了,存在你就去查 DB 刷新 KV 再 return。

TAG标签:#穿透 #