Redis(缓存服务器)讲解 | 您所在的位置:网站首页 › redis缓存服务器搭建 › Redis(缓存服务器)讲解 |
缓存击穿
现象:缓存击穿,是指一个key非常热点,在不停的扛着大并发,大并发集中对这一个点进行访问,当这个key在失效的瞬间,持续的大并发就穿破缓存,直接请求数据库,就像在一个屏障上凿开了一个洞。
解决:其实,大多数情况下这种爆款很难对数据库服务器造成压垮性的压力,对主打商品都是早早的做好了准备,让缓存永不过期。即便某些商品自己发酵成了爆款,也是直接设为永不过期就好了。 缓存雪崩问题:其实集中过期,倒不是非常致命,比较致命的缓存雪崩,是缓存服务器某个节点宕机或断网。因为自然形成的缓存雪崩,一定是在某个时间段集中创建缓存,那么那个时候数据库能顶住压力,这个时候,数据库也是可以顶住压力的。无非就是对数据库产生周期性的压力而已。而缓存服务节点的宕机,对数据库服务器造成的压力是不可预知的,很有可能瞬间就把数据库压垮
现象:缓存雪崩,是指在某一个时间段,缓存集中过期失效。
解决:加上一个随机因子。这样能尽可能分散缓存过期时间,而且,热门类目的类型缓存时间长一些,冷门类目的类型缓存时间短一些,也能节省缓存服务的资源。 缓存穿透恶意攻击:假如有恶意攻击,就可以利用这个漏洞,对数据库造成压力,甚至压垮数据库。即便是采用UUID,也是很容易找到一个不存在的KEY,进行攻击。
现象:当我们去查询数据库的时候,首先会先去查询redis服务器找缓存值,在此期间我们如果查询不到就会直接去数据库查询,但是数据库我们没有这个值就会出现击穿现象。
解决:可通过采用缓存空值的方式,如果从数据库查询的对象为空,也放入缓存,只是设定的缓存过期时间较短,比如设置为60秒
|
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |