jquery侧边栏刷新过多?

jquery侧边栏刷新过多?,jquery,Jquery,我在我的网站上有两个侧边栏,由于网站的性质(它是一个游戏脚本/网站),其中的某些部分需要经常刷新-每10秒左右 左侧栏上有一个邮件链接和一个警报链接,如果其中有新内容,这两个链接都会闪烁 在右边的边栏上,有你的统计数据、健康状况等 为了做到这一点,我把jquery的一些东西搞砸了。例如,对于左侧边栏,我在主页的标题中有这个代码 <script> $(document).ready(function() { $("#leftbar").load("leftbar.php");

我在我的网站上有两个侧边栏,由于网站的性质(它是一个游戏脚本/网站),其中的某些部分需要经常刷新-每10秒左右

左侧栏上有一个邮件链接和一个警报链接,如果其中有新内容,这两个链接都会闪烁

在右边的边栏上,有你的统计数据、健康状况等

为了做到这一点,我把jquery的一些东西搞砸了。例如,对于左侧边栏,我在主页的
标题中有这个代码

<script>
 $(document).ready(function() {
   $("#leftbar").load("leftbar.php");
   var refreshId = setInterval(function() {
      $("#leftbar").load('leftbar.php?randval='+ Math.random());
      }, 9000);
   $.ajaxSetup({ cache: false });
   });
</script>

$(文档).ready(函数(){
$(“#leftbar”).load(“leftbar.php”);
var refreshId=setInterval(函数(){
$(“#leftbar”).load('leftbar.php?randval='+Math.random());
}, 9000);
$.ajaxSetup({cache:false});
});
然后在侧边栏中我有一个
标记,它每10秒刷新一次。我在右边的边栏也有同样的内容

我的问题是,在我的leftbar.php中,它的设置与普通页面类似。在顶部,它连接到数据库,查询表,然后根据是否有新内容输出html。然后再次关闭数据库连接

是这样做的吗? 每隔10秒打开和关闭db连接似乎太过分了


注意:我对javascript/jquery一无所知,它通常是这样做的,尽管通常情况下,您不必每次都手动关闭连接。通常情况下,当它完成数据请求时,它足够智能地打开和关闭自己。更多信息/更好的解释。

是的,这很正常

对于一些ajax自动完成插件,每次击键都会建立一个db连接,每秒可能发生几次。连接在mysql中并不“昂贵”,大多数数据库都是这样。我不得不承认,几年前,当我从甲骨文公司发现这一点时,我也感到惊讶


关键是,ajax请求是一个完整的http请求,包含header和all。您可以为用户会话打开一个连接,但其费用几乎与关闭和打开一个新连接的费用相同。一些杂散连接会累积并污损db。

hm。。。问得好,我很好奇这方面是否有最佳实践


在我看来,您应该阅读一些关于noSQL技术的文章:)

好吧,您已经为jQuery/JavaScript的介绍咬下了一口。)

看起来您的示例应该满足您的需要。数据库连接不应该是一个问题,因为您可能正在使用Apache?在这种情况下,Apache能够处理的任何事情(每秒数千个请求)都应该是好的

您还可以查看更新,告诉您何时有更新,而不是进行定期调查。当然,这会让apache屈服


因此,有一些很好的LIB可以卸载这类工作以供喜欢,这与轮询和非常小的占用有关:)

我不确定我是否理解您的担忧。10秒是你定义的。你是否担心数据库的使用率,或者网络流量或者什么?数据库的使用率真的很高。我的网站运行有点慢,我正试图找出原因。我对PHP/SQL没有太多经验,所以我只是在检查我是否按照正常的方式进行操作。我会先检查查询,看看它们是否使用了索引,一个格式不正确的SQL查询或索引不正确的表在99.99%的情况下是导致速度变慢的罪魁祸首(在编程时你不会注意到,因为通常你只测试几行数据,但在生产中,当数据日复一日地加载时,你会注意到缺少索引等问题)在99%的情况下,“慢”部分原因是查询速度慢。请确保您使用的是预先准备好的语句,并且您的索引正确且使用良好。我不太熟悉“预先准备好的语句”和索引的重要性等所有术语,但这都是学习的一部分。是的。您认为什么是慢速查询?哦,是的。因此mysql_关闭在我的左栏底部。php是否值得删除?