我有一个小型网站,大约有 5 到 10 名管理员。我已将其设置为监视每个管理员正在执行的操作(添加项目、删除项目等)。我的管理面板中有一个列表,显示了集体管理部门之前执行的 10 项活动。今天,我决定每 30 秒进行一次自我更新。
我的问题很简单:这样做有什么问题吗?我在每个请求中调用一小段文本,并且该请求可能一次仅在 3 或 4 台计算机上运行(反映了登录的并发管理员数量)。
$(document).ready(function(){
setInterval("activity()", 30000);
});
function activity() {
$("#recent_activity").load("../home/login #recent_activity .data");
}
每个请求都会生成以下内容(或类似内容 - 仅包含 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>
每 30 秒 3-4 个用户根本不算多。按照这个速度,即使有 300 个用户也根本不算什么。
您可能想检查以下问题:
- 我应该使用 Ajax Push 还是 Pull https://stackoverflow.com/questions/219868/client-notification-should-i-use-an-ajax-push-or-poll
- 简单的长轮询示例代码 https://stackoverflow.com/questions/333664/simple-long-polling-example-code
You can也缓存这个,这是明智的特别是如果生成页面的查询计算量很大,但当然要考虑到您希望显示的最新内容有什么样的延迟。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)