本地缓存下,缓存内容很容易堆积到直播源码开发中,对储存空间形成压力,但对这种缓存采用清理策略又会存在各种顾虑,加上考虑到数据是用什么方式在直播源码开发储存的,多余的信息又该如何处理等因素,我们来详细说一下开发中需要实现的顾虑点。
一、数据结构如何
数据用什么储存,缓存数据的储存虽然是在服务器中但有自己的储存方式,主要是在链路上选择单链路还是双链路,这和缓存用到的淘汰策略也有关,有些淘汰粗略会严格规定新内容和缓存内容的排序。直播源码开发最简单的数据结构是直接用Map来储存数据,或者用复杂的redis提供多种数据类型结构。
二、对象上限
直播源码开发的储存上限和服务器的上限有关所以会指定缓存对象的数量,达到某个上限后需要有对应的策略去删除多余的数据。
三、清除策略
达到对象上限后对应的清除策略,也就是缓存淘汰策略,常见的有FIFO、LRU、LFU等。
四、缓存过期时间
一般直播源码开发为了省事都会设置一个缓存的储存时间,过了时间后自动清除,也可以通过清除策略和过期时间为平台提供双重保证。
五、简明接口
一个对外可接入的接口,类似于为直播源码开发增加一个外置的硬盘,这样平台在使用的时候不会产生负担,更像是接入了三方SDK的一样,缺点在于平台需要提前预留接口,可能会增加平台被侵入的风险。
六、阻塞机制
有些进程不给予缓存,直播源码开发使用缓存的目的是为了缩短用户等待的时间,不论是直播缓存还是功能缓存,但如果所有功能都能用缓存功能,那不仅缓存的优势没了,还要腾出一大块空间来给缓存使用,这反倒起了反作用,平台在服务器上的花费莫名增加了。
除了这六点之外,直播源码开发还需要注意线程安全和是否持久化,每个顾虑都有对应的解决方法,这里就不一一说明了,如果需要可以去和直播平台的开发团队沟通寻求帮助。
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任
领取专属 10元无门槛券
私享最新 技术干货