实时数据最佳实践和方法

时间:2012-09-11 13:10:07

标签: php mysql ajax node.js socket.io

目前我制作了一个系统,其中许多屏幕只是列表,每N秒更新一次,具体取决于用户选择的每页结果数。

这只是setTimeout循环中的一个简单的ajax调用。我用这种方法看到的主要缺点是它的效率极低,因为它会产生大量不必要的网络流量和数据库调用。

原因是屏幕上的数据可能随时发生变化,但用户需要知道列表中是否有新内容,以便他们能够尽快做出反应。

我正在考虑创建一个Twitter样式列表,你得到的只是顶部的小通知,这只是你没有看到的所有新项目的COUNT。然后,用户将单击它们以使列表刷新并包含新项目。

我遇到的问题是它不是真正的实时列表。

我刚刚开始学习Socket.io和NodeJS,但我认为可能需要一些时间来学习实现高效的实时列表所需的内容。

你有什么想法?

1 个答案:

答案 0 :(得分:0)

花点时间学习Node.jsSocket.io。如果您正在寻找浏览器和服务器之间的实时,那么您无法真正击败该组合。 Socket.io非常高效,将选择浏览器支持的最佳选项(轮询,websockets等)。

Socket.io的文档在很好的示例上有点薄,但您可以尝试他们的examplesHowToNode文章。

你很可能也想把Express放在那里,这是一个很棒的模块。

祝你好运。