我正在开发必须使用 CakePhp 或 Php 实现的实时博客平台。它必须一次处理 1000 个用户。
我通过在 mysql 表中插入新数据时使用 ajax 自动刷新内容来完成此操作。问题是它每 10 秒访问一次 DB 以检查过去 60 秒内是否插入了数据。如果计数结果为 1,那么我编写了刷新内容的程序。但这感觉不像是优化的解决方案。
有什么方法可以实现吗?
我的代码 - 对 livefeed 控制器的 ajax 调用:
var auto_refresh = setInterval(
function()
{
$.post('/blog/posts/liveFeed', function(data) {
if(data >0){
alert(data);
$('#content').load(window.location.href);
}
});
return false;
}, 10000);
post.php 中的 Livefeed 控制器:
public function liveFeed() {
$res=$this->Post->query('SELECT count(*) AS data FROM posts where TIME_TO_SEC(TIMEDIFF(NOW(), created)) < 60');
echo $res[0][0]['data'];
}
我不擅长cakePhp。如果我的代码看起来不专业,请原谅我。