第一个版本,我每 1 秒查询一次数据库以获取新数据。这可行,但这很糟糕,数据库被查询太多次。
如何像 facebook newsfeed 一样有效地在页面上实现实时 ajax 刷新内容?
第一个版本,我每 1 秒查询一次数据库以获取新数据。这可行,但这很糟糕,数据库被查询太多次。
如何像 facebook newsfeed 一样有效地在页面上实现实时 ajax 刷新内容?
“实时”最好使用 Web 套接字或类似技术实现,其中服务器可以在新内容可用时将数据发布到客户端,而不是来自客户端的持续轮询。
如果您需要进行 ajax 轮询,请使用较慢的时间间隔并确保将请求缓存在服务器上,这样如果没有可用的新数据,您就不会进行任何查询。您还可以从客户端发送令牌(f.ex 时间戳),以便服务器可以检查令牌是否“新鲜”,或者您是否需要在返回响应之前查询新数据。
为什么不只使用 RSS 样式的提要?您可以每分钟左右轮询一次数据库以生成提要,或者您可以将其绑定,以便您可以从输入过程直接附加到提要?
http://www.rssboard.org/rss-specification
一旦您构建了提要(并且可以选择在您的登录系统后面保护),您就可以使用 jFeed 访问它。