我正在弄清楚彗星如何与PHP和jQuery一起工作,现在我让它使用文件和修改日期。但是,如何在不完全充斥我的数据库的情况下使用SQL正确地执行此操作?
我的文件彗星:
<?php
set_time_limit(0);
$file = "file.txt";
$last = filemtime($file);
$current = time();
while($current >= $last) {
usleep(10000);
clearstatcache();
$last = filemtime($file);
}
echo "YES";
jQuery的:
function wait() {
$.ajax({
url: "get.php",
async: true,
success: function(data) {
alert(data);
wait();
}
});
}
$(document).ready(function(){
wait();
});
现在,使用该文件可以正常工作,但是使用SQL我会假设我需要在每次循环时执行SELECT
查询,这对服务器的请求过多。
我不是要求代码,我要求有关如何通过最小化服务器负载来实现这一目标。
<?php
set_time_limit(0);
$connection = mysqli_connect("localhost", "root", "", "kleurmixer") or die (mysqli_error());
$sql = "SELECT hue FROM tags";
$sql = mysqli_query($connection, $sql) or die(mysqli_error());
$assoc = mysqli_fetch_assoc($sql);
$current = $assoc['hue'];
$last = $assoc['hue'];
while(true) {
$sql = "SELECT hue FROM tags";
$sql = mysqli_query($connection, $sql) or die(mysqli_error());
$assoc = mysqli_fetch_assoc($sql);
$last = $assoc['hue'];
if($current != $last) {
echo $last;
return true;
} else {
sleep(5);
}
}
我做到了这一点,但是这仍然每隔5秒向数据库发出一次请求。现在,这对我的应用程序来说不是一个大问题,因为它将被1-5个人在max(私人网络服务器)使用,但我仍然希望最小化服务器负载。有什么想法吗?