您的位置:首页 > 数据库 > Redis

redis作为消息队列实现代码

2016-08-06 20:33 591 查看
这里只是简单实现下redis消息队列,主要了解下这个思路

要把消息队列最好,还需考虑可靠消费、可靠发布、持久化、路由匹配、队列监控、负载均衡。。。

大都用专业的消息队列系统如rabbitmq,我们公司用的就是这个

producer.php生产者者代码

<?php
$redis = new Redis();
$redis->connect('192.168.1.198',7000);
while(true){
try{
$value = 'value_'.date('Y-m-d H:i:s');
$redis->lpush('key1',$value);//生成消息
sleep(rand()%3);
echo $value."\n";
}catch(Exception $e){
echo $e->getMessage()."\n";
}
}
?>

consumer.php消费者代码
<?php
$redis = new Redis();
$redis->connect('192.168.1.198',7000);
while(true){
try{
$value=$redis->lpop('key1')."\n";
file_put_contents('val.txt',$value,FILE_APPEND);//将获取到的消息存入val.txt
}catch(Exception $e){
echo $e->getMessage()."\n";
}
sleep(rand()%3);
}
?>

分别命令行执行生产者和消费者

[root@localhost redis]# php producer.php

value_2016-08-06 20:22:57

value_2016-08-06 20:22:58

value_2016-08-06 20:22:59

value_2016-08-06 20:23:01

value_2016-08-06 20:23:03

...

[root@localhost redis]# php consumer.php

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: