【发布时间】:2012-01-25 14:20:03
【问题描述】:
我正在尝试在我的网站上进行一些长时间的轮询,以通知用户收到的邮件。我将 mysql 用于数据库目的。如果表有更新,检查 mysql 是否安全?这是否会导致网站速度变慢,因为它会不断寻找更新?你甚至会如何检查 mysql 是否更新?
代码看起来像这样
while($currentTime <= $lastTime){
usleep(10000)
clearstatcache();
$sql = mysql_query("SELECT time FROM timestamp WHERE $currentTime = timestamp");
$row = mysql_fetch_array($sql);
$currentTime = $row['time'];
}
所以基本上,它会一直运行,直到数据库中有一个新的时间戳,但是如果它让服务器每 10 秒查看一次我的数据库,这是否有效?
谢谢
【问题讨论】:
-
PHP 执行服务器端。这意味着这个 while 循环将阻止任何内容显示给用户,直到实际发生更新。将网页加载给用户后,您需要经常使用 ajax 轮询数据库。
标签: php jquery ajax performance long-polling