我正在考慮3個選項,如果有任何問題,我會考慮更多的建議。在循環中查詢數據庫,使用睡眠或單獨請求循環
問題:我不斷收到建議溝睡眠,我沒有背景三個
我之間保持回暖斥罵睡眠是非常糟糕的PHP腳本使用,但從來沒有人強調過爲什麼。我打算讓系統具有可擴展性,即解決這個問題的方法可以使用10到100倍。
選項1:睡眠
$timer = time() + (30);
while($done==0){
$result = mysqli_query($mysqli, $query);
$row_cnt = mysqli_num_rows($result);
if ($row_cnt>0){
$row = mysqli_fetch_array($result);
print $row[0];
$done=1;}
else{
$current = time();
if($timer>$current){sleep(1);}
else{$done=1;}
}
選項2:
只需從我上面的非服務器知識除去睡眠認爲這是糟糕的,但是,我敢肯定,我可能是非常錯誤的
else{
$current = time();
if( $timer>$current){}
else{$done=1;}
}
選項3:讓客戶端請求循環中的頁面並讓該文件只顯示信息
$result = mysqli_query($mysqli,$query);
$row_cnt = mysqli_num_rows($result);
if ($row_cnt>0){
$row = mysqli_fetch_array($result);
print $row[0];
因此,這是最好的給 我的目標:
- 可靠性最重要
- 速度,這客戶端獲取信息
- 可擴展性 - 重要性最低(仍然很重要)
請給我一個爲什麼我真的想理解一種方法是優越的說法
如果這被標記爲有爭議的,它必須意味着所有的答案都是有效的:)我將其作爲答案:)
你想解決什麼問題? – Barmar
問題是我一直建議溝渠睡眠,我沒有背景選擇之間的三個 –
爲什麼你有睡覺在第一個地方?據推測,這是爲了解決一些問題,因爲在數據庫查詢腳本中這是不正常的。 – Barmar