【发布时间】:2014-10-01 19:13:00
【问题描述】:
我创建了一个 Web 应用程序,并向其中添加了自己的 API:
/api/v1.0/articles/new/{since}
此 API 返回自 {since} 以来新文章的 JSON,其中 {since} 是 unix 时间戳。
我想为网站添加自动更新,并在用户访问网站时自动查询文章,但我不知道该怎么做。
我正在考虑使用以下 javascript (jQuery) 来实现:
setInterval(function () {
$.get('/api/v1.0/articles/new/{since}', function (data) {
/* parse data, add new articles to page */
/* since = now */
});
}, 30*1000)
这是正确的解决方案吗?我担心如果有 500 人访问我的网站,那么我每 30 秒就会收到 500 个请求,这可能会导致我的服务器崩溃。
我还可以尝试哪些其他可能的解决方案?有没有办法让服务器在有新内容时将数据推送到 webapp,而不是我拉它并查询? (这叫彗星ajax吗?)
【问题讨论】:
-
构建读取api的缓存。发送用户(全部 500 个)读取 1 个缓存文件。
标签: jquery ajax web comet polling