方法:写当日榜单+当日滚动榜+次日滚动榜+定时任务处理历史数据
实际上,这个步骤并不复杂,主要是为了解决定时数据在时间间隔切换时无法平滑过渡的问题。具体来说,在编写代码时,我们需要执行以下三个操作。
-
获取7天、30天或更多天的数据:首先,我们需要根据需求获取特定时间段内的数据。以今天(2023年12月29日)为例,我们可以获取从2023年12月23日至12月29日的7天数据。
-
处理数据的平滑过渡:在获取到特定时间段的数据后,我们需要对数据进行处理,使其能够平滑过渡。这意味着我们要确保每一天的数据都与前一天的数据有一定的关联性,避免出现突变或不连贯的情况。
-
生成报表或执行其他操作:最后,我们可以根据处理后的数据生成报表或执行其他需要的操作。这可能包括计算统计指标、绘制图表或进行趋势分析等。根据具体需求,我们可以灵活地进行定制。
需要注意的是,无论是获取7天榜单、30天榜单还是更长时间段的数据,这三个操作都是固定的,只是根据具体的日期和时间间隔进行相应的调整和处理。
# 增加当日排行榜用户数据
ZINCRBY gift_list_cache:20231229 13140 Test0001
# 增加当日滚动排行榜用户数据
ZINCRBY gift_list_cache:scroll:20231229 13140 Test0001
# 增加次日滚动排行榜用户数据
ZINCRBY gift_list_cache:scroll:20231230 13140 Test0001
我们需要在每天定时任务中初始化次日的滚动榜数据,并确保数据的平滑过渡:
1. 当天的数据是同步写入的,不需要在定时任务中处理。
2. 前一天的数据已经在前一天同步写入的时候被处理了,不需要在定时任务中处理。
3. 需要初始化的是次日滚动榜缺少的最开始的5天数据。
4. 在定时任务中,如果是29号的定时任务,实际上是为了初始化30号的数据。
5. 29号的定时任务不需要处理29号当天

最低0.47元/天 解锁文章
1751

被折叠的 条评论
为什么被折叠?



