redis消息队列在PHP里的使用 star.Hou的红楼一梦
redis命令:
list数据类型的插入:rpush(插入到列表最底部) blpop(从列表数据顶部弹出数据并移除)
#redis队列生产者
public function intoRedisQueue()
{
$return = array(
'data' => array('a' => 'a', 'b' => 'b'),
);
$redis = new Redis();
$redis->connect($this->REDIS_HOST, $this->REDIS_DB_PORT);
$redis->select(3);
$redis->rPush('QUEUE', json_encode(array( 'data' => $return )));
echo "into queue ok";
}
#redis队列消费者
public function runQueue()
{
$redis=new Redis();
$redis->connect($this->REDIS_HOST, $this->REDIS_DB_PORT);
$redis->select(3);
while($data = $redis->blPop('QUEUE',0))
{
$data=json_decode($data,true);
var_dump($data);
//也可以队列数据插入db、或者log进行记录
//业务
echo '-----';
}
}