通过Javascript不断查询服务器 - 好主意?

Sam*_*son 5 javascript jquery design-patterns auto-update

我有一个小网站,大约有5-10名管理员.我已将其设置为监视每个管理员正在做什么(添加项目,删除项目等).我的管理面板中有一个列表,显示集体管理部门执行的前10个活动.今天,我决定每30秒进行一次自我更新.

我的问题很简单:这样做有什么问题吗?我正在为每个请求调用一小段文本,并且请求可能一次只能在3台或4台计算机上运行(反映登录的并发管理员数量).

  $(document).ready(function(){
    setInterval("activity()", 30000);
  });

  function activity() {
    $("#recent_activity").load("../home/login #recent_activity .data");
  }
Run Code Online (Sandbox Code Playgroud)

每个请求产生以下(或类似 - 仅10行).

<table>
  <tbody>
    <tr>
      <td><p>jsampson</p></td>
      <td><p>logged out</p></td>
      <td><p>28 minutes 27 seconds ago</p></td>
    </tr>
    <tr>
      <td><p>jdoe</p></td>
      <td><p>logged in</p></td>
      <td><p>29 minutes 45 seconds ago</p></td>
    </tr>
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

cgp*_*cgp 4

每 30 秒 3-4 个用户根本不算多。按照这个速度,即使有 300 个用户也根本不算什么。

您可能想检查以下问题:

您也可以缓存它,尤其是在生成页面的查询计算量很大的情况下,这是可取的,但当然要考虑到您希望在显示的最新内容中出现什么样的延迟。