码迷,mamicode.com
首页 > Web开发 > 详细

php+redis消息队列

时间:2015-10-20 13:46:00      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:

index.php  当前队列情况

$redis=new Redis();
$redis->connect(‘127.0.0.1‘);
$ret=$redis->lRange(‘test‘,1,1000);
var_dump($ret);

push.php  入队

$redis=new Redis();
$redis->connect(‘127.0.0.1‘);
for($i=0;$i<50;$i++){
    $redis->lPush(‘test‘,$i);
}
echo ‘<script>window.setTimeout(function(){location.href="http://localhost/mq/";},2000);</script>‘;
ob_flush();flush(); //不缓冲
file_get_contents(‘http://localhost/mq/pop.php‘);

pop.php  出队

set_time_limit(0); 
$redis=new Redis(); 
$redis->connect(‘127.0.0.1‘); 
while(true){ 
    $ret=$redis->lPop(‘test‘); 
    if($ret!==false){ 
        echo $ret.‘<br>‘; 
        ob_flush();flush(); //不缓冲 
        sleep(1); 
    } 
    else{ 
        exit(‘--------end--------‘); 
    } 
}

 

执行push.php插入队列并调用pop.php处理队列。

2秒以后自动转到index.php,无需等待任务处理完毕。

即使关闭浏览器重新打开index.php,依然可以看见队列一直在后台处理。

php+redis消息队列

标签:

原文地址:http://www.cnblogs.com/xiejixing/p/4894324.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!