gpt4 book ai didi

laravel - 从 redis 'incrby' 检索访问者计数并创建热门帖子

转载 作者:可可西里 更新时间:2023-11-01 11:23:18 25 4
gpt4 key购买 nike

我有一个新闻网站,我想根据用户访问创建热门帖子,间隔为 7 天。

我使用带有前缀的 Redis::incrby() 创建了计数机制:

Redis::incrby( 'news:popular:count:' . $news_id . ':' . \Carbon\Carbon::now()->format('d-m-Y'), 1 );

但问题是,我不知道如何使用 GET 检索它并对值进行排序。

所以我希望根据用户数量获得热门帖子。

有什么方法可以实现并获得热门帖子吗?还是有更好的方法来做到这一点?

最佳答案

我找到了自己的解决方案并将其发布在这里,如果其他用户遇到与我类似的问题,您可以使用此解决方案。

首先,我们使用 Redis::keys 检索 key ,使用通配符获取包含帖子计数的 key 列表:

$popular     =   Redis::keys('news:popular:count:*');

然后我们创建一个空数组来存储计数数据:

$get_count   = [];

然后我们用foreach爆破得到news_id然后得到帖子数

foreach ($popular as $key => $res) {
// Get news_id
$news_id = explode( ":", $res );

// Get count each post
$get_count[ $news_id[3] ] = Redis::get( $res );
}

然后我们使用arsort()方法将数组结果从高到低排序

// Sort news count from high to low
arsort( $get_count );

就是这样,我面临的最困难的部分已经解决了。如果有的话,也许您可​​以分享更好的答案。

关于laravel - 从 redis 'incrby' 检索访问者计数并创建热门帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57414954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com