让我立即开始说,我知道这不是最好的解决scheme。 我知道这是一个function和黑客的function。 但这就是我来这里的原因! 这个问题/工作与 Facebook的新闻提供者的创build者Andrew Bosworthbuild立了一些关于Quora的讨论 。 我正在build立一个新闻饲料的种类。 它完全由PHP和MySQL构build。 MySQL Feed的关系模型由两个表组成。 一个表格用作活动日志; 实际上,它被命名为activity_log 。 另一个表是newsfeed 。 这些表格几乎完全相同。 日志的模式是activity_log(uid INT(11), activity ENUM, activity_id INT(11), title TEXT, date TIMESTAMP) …以及feed的架构是newsfeed(uid INT(11), poster_uid INT(11), activity ENUM, activity_id INT(11), title TEXT, date TIMESTAMP) 。 任何时候用户做一些与新闻提要有关的事情 ,例如问一个问题, 都会立即logging到活动日志中 。 生成新闻提要 然后每隔X分钟 (此刻5分钟,将改为15-30分钟后), 我运行一个cron作业 ,执行下面的脚本。 该脚本遍历数据库中的所有用户,查找所有该用户的朋友的所有活动,然后将这些活动写入新闻源。 目前,剔除Activity(在ActivityLog::getUsersActivity()调用)的SQL有一个LIMIT 100 ,因为性能*的原因。 *不是我知道我在说什么。 <?php […]