0

私は現在、サーバー用の小さな Web ページを作成しており、そこでプレイしているプレイヤーの統計を表示しています。それはかなりうまく機能しますが、データベースへの接続の量を減らすことができるかどうか疑問に思っていました. 現在、ページの一部を更新して最新のデータを表示する 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>

問題は、リロードしているページの 3 つの部分すべてに MySQL データベース接続が必要なことです。現在、すべてのページに db.php を含めていますが、それはかなり非効率的です。代わりにこれを行う良い方法は何でしょうか?

ああ、ページはここで見ることができます: http://mc.centrility.nl/stats/

4

1 に答える 1

1

わかりました、より詳細:

サーバー all.php への接続を 1 つだけ作成します。RoryPickering が言ったように、これには $.ajax を使用します。

サーバー側では、all.php が 1 回だけ呼び出されます。

そこでdb接続を永続的に設定すると、データベースに1回だけ接続する必要があります。

1 回のクエリですべてのデータを取得できるとは思えないため、データベースに対して複数回クエリを実行する必要があると思います。

すべてのデータを取得して JSON 形式に変換し、それをクライアントに返します。

クライアント側で、JSON データを適切な領域/必要なサブデータに分割します。

于 2012-07-18T19:39:54.783 に答える