Redis实现日榜|晋级榜单|直播间榜单|排行榜|Redis实现日榜02

目录

前言

难点

解决方案


前言

通常一个主播的活动榜单大概会分为几个流程来进行,例如可以分为海选赛,晋级赛,突围赛,年度10大主播,年度总决赛。

1.海选赛:从平台所有的主播中进行选拔,在海选赛比赛期间,前60可以晋级到下一轮比赛中,60名以外的主播被淘汰。

2.晋级赛:从海选赛晋级的60名主播中,继续持续几天比赛,最终在60名主播中的前40名主播晋级到下一轮比赛中。

3.突围赛:40晋级20。

4.年度10大主播:20名主播在比赛阶段中的前10晋级到总决赛成为年度10大主播。

5.总决赛:决出最终的冠亚季军。

其实每个赛段中还会有一些其他的逻辑,比如:复活和保送逻辑。从上个轮次中淘汰的主播可以通过复活赛进行复活,或者通过其他活动可以获得晋级赛的保送名额,由于本篇文章主要讲解榜单的晋级逻辑,所以这里就暂且先不详细说明复活和保送的逻辑。

难点

通常比赛都是以每天0点进行当天榜单的结算,如果一个赛段持续2天,那就是第二天的2点会进行榜单的结算,以N进60的海选赛为例:6号和7号两天的前60名晋级到下一轮,晋级榜单会在8号的0点进行结算。假如在7号要到结算时间的时候用户来冲榜,导致很多礼物堆积在队列中,会导致在8号0点那一刻不能马上结算出前60名的榜单(因为队列中的礼物可能会存在没消费完的情况),所以这里需要有个结算时间,这就是为什么很多直播平台每天榜单结算的时候会有结算倒计时的原因!这里假设我们结算是从8号的0点开处理结算逻辑,结算时间为10s,那也就是8号的0点到8号的0点0分10秒榜单会处在结算中的状态,但是这个时间段60进40的赛程已经开始,可是晋级的60名榜单要在10s之后才能结算出来,那么在结算中0s-10s中60晋级40的榜单要怎么生成?

解决方案</
  • 24
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值