我目前正在为我的服务器制作一个小网页,其中显示了在该网页上玩的玩家的一些统计数据。它工作得很好,但我只是想知道是否可以减少与数据库的连接量。目前,我在页面中有一些 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/
最佳答案
好的,更详细:
仅与您的服务器 all.php 建立一个连接。正如 RoryPickering 所说,为此使用 $.ajax。
在服务器端,仅调用一次 all.php。
将数据库连接设置为持久连接,这样您只需连接到数据库一次。
我怀疑您是否只能通过一次查询来获取所有数据,因此我猜您将不得不多次查询数据库。
获取所有数据并将其转换为 JSON 格式,然后返回给客户端。
在客户端,将 JSON 数据拆分为您所需的区域/所需的子数据。
关于php - 减少数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11541962/