高并发、高性能、高可用是短视频开发无法避免的“三高”问题,在实际开发时我们可以采取多种技术手段解决“三高”问题,引入缓存便是其一。在短视频开发中是如何利用缓存应对“三高”问题的呢?
一、引入缓存的原因
所谓的缓存其实就是存储数据的一个硬件或软件组件,在短视频开发引入缓存后可以将系统中的热点数据存储其中,当前端发来热点数据的访问请求,缓存便找出相关数据返回至前端,由于省去了查询数据库的过程,所以访问效率可实现大幅度地提升。
二、缓存的分类
1、本地缓存
在短视频开发的一些简单场景中,就能考虑使用本地缓存,主要是本地缓存利用的是进程内成员变量或静态变量,不需要考虑清空策略、过期时间、缓存一致性等问题,实现起来更方便。
2、分布式缓存
在短视频开发的相对复杂的场景中,或数据量比较大的场景中,则需要考虑使用分布式缓存了。所谓的分布式缓存其实就是对缓存服务做了水平扩展,将数据分片后分散存储在了不同机器中,这样能够降低单个机器的处理压力,提升系统的响应效率。
三、缓存的正确使用
1、适用场景:
(1)读多写少
由于缓存在短视频开发中主要用于存储热点数据,响应用户对某些数据的读请求,所以比较适用于读多写少的场景。
(2)计算耗时大,且实时性不高
在短视频开发中存在一些计算比较耗时的功能,像排行榜单之类的,但排行榜单中的周榜、月榜等实时性要求又不是很高,一般更新频率在一周、一个月左右,像这种就能在数据计算完后存储到缓存中,如果有对应的请求直接从缓存中获取即可,减轻了计算压力。
3、不适用场景:
(1)写多读少的场景
(2)数据更新过于频繁的场景。
(3)对数据一致性要求比较高的场景。
(4)数据访问毫无规律的场景,该场景的缓存命中率会很低。
为了解决短视频开发中的“三高”问题,我们对缓存还需要建立更深切的认知,只有充分了解缓存可以带来的好处和可能引发的问题,才能让缓存在短视频开发中发挥出应有的价值。
声明:本文由云豹科技原创,转载请注明作者名及原文链接,否则视为侵权