1

第一个版本,我每 1 秒查询一次数据库以获取新数据。这可行,但这很糟糕,数据库被查询太多次。

如何像 facebook newsfeed 一样有效地在页面上实现实时 ajax 刷新内容?

4

2 回答 2

3

“实时”最好使用 Web 套接字或类似技术实现,其中服务器可以在新内容可用时将数据发布到客户端,而不是来自客户端的持续轮询。

如果您需要进行 ajax 轮询,请使用较慢的时间间隔并确保将请求缓存在服务器上,这样如果没有可用的新数据,您就不会进行任何查询。您还可以从客户端发送令牌(f.ex 时间戳),以便服务器可以检查令牌是否“新鲜”,或者您是否需要在返回响应之前查询新数据。

于 2012-12-29T02:16:28.190 回答
0

为什么不只使用 RSS 样式的提要?您可以每分钟左右轮询一次数据库以生成提要,或者您可以将其绑定,以便您可以从输入过程直接附加到提要?

http://www.rssboard.org/rss-specification

一旦您构建了提要(并且可以选择在您的登录系统后面保护),您就可以使用 jFeed 访问它。

http://plugins.jquery.com/project/jFeed

于 2012-12-29T02:12:19.660 回答