0

我目前正在为我的服务器制作一个小网页,其中显示了在其上玩的玩家的一些统计数据。它工作得很好,但我只是想知道是否可以减少与数据库的连接量。目前,我在页面中有一些 JQuery 代码会刷新部分内容以显示最新数据。现在,我以前从未使用过 JQuery,所以我这样做了:

<script>
 $(document).ready(function() {
     $("#blocks").load("blocks.php<? if($usePlayer){echo("?player=" . $player);} ?>");
     $("#global_stats").load("globalstats.php<? if($usePlayer){echo("?player=" . $player);} ?>");
     $("#top_entities").load("entities.php<? if($usePlayer){echo("?player=" . $player);} ?>");
   var blockRefresh = setInterval(function() {
      $("#blocks").load("blocks.php<? if($usePlayer){echo("?player=" . $player);} ?>");
   }, 5000);
   var globalStatsRefresh = setInterval(function() {
       $("#global_stats").load("globalstats.php<? if($usePlayer){echo("?player=" . $player);} ?>");
   }, 30000);

   $.ajaxSetup({ cache: false });
});
</script>

问题是,我正在重新加载的页面的所有三个部分都需要一个 MySQL 数据库连接。目前,我在每个页面上都包含 db.php,但这似乎效率很低。什么是这样做的好方法呢?

哦,页面可以在这里看到:http: //mc.centrility.nl/stats/

4

1 回答 1

1

好的,更详细的:

只与您的服务器 all.php 建立一个连接。正如 RoryPickering 所说,为此使用 $.ajax。

在服务器端,只有 all.php 被调用一次。

在那里将 db 连接设置为持久连接,因此您只需连接到数据库一次。

我怀疑您只能通过一次查询来获取所有数据,所以我想您将不得不多次查询数据库。

获取所有数据并将其转换为 JSON 格式,然后返回给客户端。

在客户端,将 JSON 数据拆分为您相应的区域/所需的子数据。

于 2012-07-18T19:39:54.783 回答