实时创建新闻Feed

时间:2013-07-21 13:07:27

标签: php ajax xmpp real-time

我有一个包含许多表格的数据库:[粉丝,收藏夹,帖子......等)

这些表定义了用户可以实现的不同活动,他可以发送帖子,将其他人添加到收藏夹并关注其他人。

我想要做的是从这些表中提取数据,并构建实时新闻源。

我有两个选择:

1-为通知创建一个单独的表(这样我就不必从多个表中获取数据,然后使用Javascript计时器每隔x秒返回一次结果。

2-使用XMPP服务器...每隔x秒发送(或推送)通知,而不实际发送任何ajax查询。

对于这两个选项,我不知道是否应该连接到这些表来获取新闻源,或者只是为通知创建一个单独的表。

我搜索了这个主题,但我找不到真正有用的东西,任何链接都会受到赞赏。

2 个答案:

答案 0 :(得分:2)

如果您的数据是normalized,您应该能够通过一个查询(使用JOIN)获取所有数据,或者如果您想从一个表中查询,则可以尝试创建View。最好将数据保存在适当的表中,以避免重复数据。

推送通知在服务器上更容易,因为它们没有收到来自每个客户端的请求。根据您的负载,您可能会使用简单的AJAX请求。

答案 1 :(得分:2)

新闻请求的请求将非常频繁。因此,您必须保持代码快速运行,并尽量减少资源(CPU-timedatabase query)。

我建议你选择第一个选项。它符合您的要求,而且非常简单。

因为你有很多表,所有表都会grow bigger day by day。每次连接它们以获取新闻源都需要很长时间并增加数据库的负载。另一方面,你查询sql会很复杂。

像@Curtis Mattoon所说:avoid having to duplicate data,但有时,我们需要spend more space for less time

所以我建议创建一个新表来存储通知数据。您甚至可以定期从此表​​中删除旧数据。

与此同时,您的sql和php code新闻Feed非常简单且运行速度很快。