首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

搭建直播平台,关于缓存的各种名词概念理解

缓存细分下可以分缓存穿透、缓存击穿、缓存雪崩三种,从这几个词上也能看出,这属于搭建直播平台缓存应用的突发情况,一些情况下缓存的应用并不能起到正向加速效果,反而会因为缓存的崩溃导致原本平台该响应的请求没有响应好,最终出现不应该有的故障,搭建直播平台面对缓存的问题处理该如何应对呢?是否要因此放弃缓存的使用?

一、缓存穿透

在用户想要查询一个数据时,发现redis内存数据库没有该数据,也就是说缓存没有命中,于是向持久层数据库查询,发现也没有,宣告本次查询失败,尽管这次请求是失败了,但还是给持久层数据造成了很大的压力,这就被称为缓存穿透。

解决方案:

布隆过滤器,属于一个很长的二进制向量和一系列随机映射函数,它可以用于检索一个元素是否在一个集合中,优点在于保证了搭建直播平台的空间效率和查询时间都远超过了一般的算法,缺点是有一定的误识别率和删除困难。

二、缓存击穿

一个key热点,可以保证搭建直播平台很多用户集中式的对这一个点进行访问,但是如果key失效,就会导致持续性的大并发穿破缓存,直接导致请求了搭建直播平台数据库,这类请求往往都是热点数据,由于缓存过期,大量节点回来拉取新的缓存内容,导致数据库瞬间压力变大。

解决方案:

1、设置热点数据不过期,这样能保证热点key不会过期,不过也增加了搭建直播平台消耗的资源

2、将热点key备份到多个redis上,当有热点key请求来时,可以从备份中调取返回数据

三、缓存雪崩

指的是搭建直播平台缓存由于某些原因整体或大量失效,导致大量请求回溯到后端数据库中,从而导致数据库的崩溃。不过这种情况很少见,一般出现在搭建直播平台缓存服务器宕机、系统预加载缓存集中实效等。

解决方案:

1、增加缓存容量,直接增加缓存的空间

2、限流,在缓存实效后,通过加锁或者队列来控制读数据库写缓存的线程数量

3、数据预热,在正式部署之前,先把搭建直播平台用户可能会请求的数据预先访问一遍,这样用户请求时不会出现大规模请求数量增加的情况

声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20221205A04HV900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券