- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在制作一个类似于 digg 的网站,该网站将拥有一个包含不同类别的主页。我想显示最受欢迎的提交。
我们的评级系统只是“喜欢”,例如“我喜欢这个”等等。我们基本上想显示每次“喜欢”次数最多的提交。我们想要三个类别:历史流行度、上周和最后一天。
有人知道帮助的方法吗?我不知道如何着手做这件事并使其高效。我认为我们可以使用某种 cron-job 每 10 分钟运行一次,并在最后 10 分钟内提取点赞数……但有人告诉我这样效率很低?
帮忙吗?
谢谢!
最佳答案
通常 Digg 和 Reddit 之类的网站以提交日期为准,而不是投票时间。这样,只需要一个简单的 SQL 查询就可以找到 X 时间段内的热门提交。下面是使用此方法查找过去 24 小时内 10 个最流行链接的伪查询:
select * from submissions
where (current_time - post_time) < 86400
order by score desc limit 10
基本上,这个查询是要查找从现在到发布时间之间的秒数小于 86400 的所有提交,这是 UNIX 时间的 24 小时。
如果你真的想衡量 X 时间间隔内的流行度,你需要将每次投票的帖子和时间存储在另一个表中:
create table votes (
post foreign key references submissions(id),
time datetime,
vote integer); -- +1 for upvote, -1 for downvote
然后您可以生成 X 到 Y 次之间最受欢迎的帖子列表,如下所示:
select sum(vote), post from votes
where X < time and time < Y
group by post
order by sum(vote) desc limit 10;
从这里开始,您只需跳跃、跳过和内部连接,即可将帖子数据绑定(bind)到返回的 ID。
关于php - 人气算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1025436/
每个产品都有一个 product_date_added,它是一个包含添加日期的 Date 字段。他们还有一个 product_views,这是一个 int 字段,其中包含查看产品的次数。 为了按受欢迎
我需要创建一个示例项目(用于教育目的),我面临着网站项目或 Web 应用程序项目之间的选择。 这个感觉类似于C#和VB之间的选择。我的问题不是关于这两种选择之间的差异,而是关于一般 ASP.NET 社
我是一名优秀的程序员,十分优秀!