1月第4周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩平台)发布!

飞瓜轻数发布2023年1月23日-1月29日飞瓜数据UP主排行榜(B站平台),通过充电数、涨粉数、成长指数三个维度来体现UP主账号成长的情况,为用户提供B站号综合价值的数据参考,根据UP主成长情况用户能够快速找到运营能力强的B站UP主。

飞瓜数据UP主

充电榜排行榜(B站平台)

充电排行榜(B站平台)-全部行业中“40微光”排名第一,充电数834“鲸鱼娘西丝特official”排名第二,充电数829“徐云流浪中国”排名第三,充电数723

本榜单来源于公开数据,不代表飞瓜B站平台观点

飞瓜数据UP主

成长榜排行榜(B站平台)

成长排行榜(B站平台)-全部行业中“乔伯伯秒杀单词”排名第一,成长指数227.4“董赤赤973”排名第二,成长指数224.1“暴叔讲留学”排名第三,成长指数209.2

本榜单来源于公开数据,不代表飞瓜B站平台观点

飞瓜数据UP主

涨粉榜排行榜(B站平台)

涨粉排行榜(B站平台)-全部行业中“鲸鱼娘西丝特official”排名第一,涨粉数47.3w“秃崽不是坏女人”排名第二,涨粉数31.4w“靖菌命”排名第三,涨粉数23.1w

本榜单来源于公开数据,不代表飞瓜B站平台观点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,需要明确排行榜的实现方式。一般而言,排行榜可以使用有序集合(sorted set)来实现,其中成员为需要排名的对象,分数为该对象的分数(或者得分、积分等),分数越高排名越靠前。 接下来,我们针对日榜、周榜和月榜分别进行实现。 ## 日榜 对于日榜,我们可以使用 Redis 的 ZINCRBY 命令来增加某个对象的分数,并使用 ZREVRANGE 命令来获取分数最高的前 N 个对象,从而得到日榜排名。 具体实现步骤如下: 1. 每当一个对象获得分数时,使用 ZINCRBY 命令将其分数增加; 2. 使用 ZREVRANGE 命令获取排序后的前 N 个对象。 例如,假设我们要维护一个日榜,其中每个用户有一个得分,我们可以使用以下代码实现: ```php // 增加用户得分 $redis->zincrby('daily_ranking', $score, $user_id); // 获取前 N 名用户 $result = $redis->zrevrange('daily_ranking', 0, $n - 1, 'WITHSCORES'); ``` 其中,$score 为用户得分,$user_id 为用户 ID,$n 为需要获取的前 N 名用户数量。 ## 周榜 对于周榜,我们可以使用 Redis 的事务(transaction)来实现。具体实现步骤如下: 1. 获取当前日期所在的周的编号; 2. 在 Redis 中创建一个键名为 "weekly_ranking:周编号" 的有序集合(sorted set); 3. 使用事务,将该周内所有用户的得分分别增加到对应的有序集合中; 4. 使用 ZREVRANGE 命令获取分数最高的前 N 个对象。 例如,假设我们要维护一个周榜,其中每个用户有一个得分,我们可以使用以下代码实现: ```php // 获取当前日期所在的周的编号 $week_number = date('W'); // 开启 Redis 事务 $redis->multi(); // 增加用户得分 $redis->zincrby("weekly_ranking:$week_number", $score, $user_id); // 获取前 N 名用户 $redis->zrevrange("weekly_ranking:$week_number", 0, $n - 1, 'WITHSCORES'); // 执行事务 $result = $redis->exec(); ``` 其中,$score 为用户得分,$user_id 为用户 ID,$n 为需要获取的前 N 名用户数量。 ## 月榜 对于月榜,与周榜类似,我们可以使用 Redis 的事务来实现。具体实现步骤如下: 1. 获取当前日期所在的月份; 2. 在 Redis 中创建一个键名为 "monthly_ranking:年份-月份" 的有序集合(sorted set); 3. 使用事务,将该月内所有用户的得分分别增加到对应的有序集合中; 4. 使用 ZREVRANGE 命令获取分数最高的前 N 个对象。 例如,假设我们要维护一个月榜,其中每个用户有一个得分,我们可以使用以下代码实现: ```php // 获取当前日期所在的月份 $month = date('Y-m'); // 开启 Redis 事务 $redis->multi(); // 增加用户得分 $redis->zincrby("monthly_ranking:$month", $score, $user_id); // 获取前 N 名用户 $redis->zrevrange("monthly_ranking:$month", 0, $n - 1, 'WITHSCORES'); // 执行事务 $result = $redis->exec(); ``` 其中,$score 为用户得分,$user_id 为用户 ID,$n 为需要获取的前 N 名用户数量。 需要注意的是,以上实现仅供参考,具体实现方式还要根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值