缓存是直播软件开发离不开的东西,平台需要依靠缓存实现快速传输,但缓存并不是存在越久越好,需要缓存有效期的帮助,设置缓存有效期一方面可以节省直播软件开发的空间,另一方面还能保证缓存内容和直播软件开发新内容的一致性,确保用户拿到的数据是最新的。
一、缓存过期策略
1、定时过期。每个设置过期时间的key都需要创建一个定时器,到期后确保能立即清除,该策略可以立即清除过期的数据,对内存很友好,但是会占用直播软件开发大量的CPU资源去处理过期的数据,进而就影响到缓存的响应时间和吞吐量
2、惰性过期。当用户访问到key时才会判断该key是否已经过期,过期则清除,该策略可以最大化节省CPU资源,对内容不友好,甚至在某些情况下会出现大量的过期key没有访问但也没有被清除的情况,从而占用直播软件开发大量内存
3、定期过期。每隔一段时间就扫描一次数据库中的key,清除其中已经过期的key,属于一个折中方案,通过调整扫描的时间间隔和每次扫描的耗时,可以确保CPU和内存资源达到优质的平衡效果
二、缓存淘汰策略
1、LRU。根据数据的历史访问记录进行淘汰数据,当然会用户来说这没有什么也就是多一点缓存时等待的时间,但不一样的是平台需要考虑该数据是否真的需要淘汰,虽然这段时间没有被访问,不代表该内容在之后不会被访问
2、LFU。如果直播软件开发的某个数据最近一段时间没有被访问,那之后访问的几率也很小。和上个策略一样,直播平台开发无法真正确定数据是不需要的
缓存时间的确定和直播平台开发平时访问用户数的多少有关,如果用户数多,那缓存的设置很重要,缓存可以帮助平台解决一部分访问压力,另一方面缓存还和平台的更新频率有关,更新频率高想要保证用户得到最新内容肯定要频繁更新缓存,当然这就看平台的需求了。
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任
领取专属 10元无门槛券
私享最新 技术干货