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
要把消息队列最好,还需考虑可靠消费、可靠发布、持久化、路由匹配、队列监控、负载均衡。。。
大都用专业的消息队列系统如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
相关文章推荐
- [示例] -- redis作为消息队列实现代码
- nodejs+redis以最少的代码实现消息队列
- Java利用Redis实现消息队列的示例代码
- PHP中利用redis实现消息队列处理高并发请求--简洁代码实现效果
- 用redis实现支持优先级的消息队列
- 利用redis实现带优先级的消息队列
- php amqp消息队列教程1-代码实现实例
- 用redis阻塞队列,实现消息传递
- 用redis实现支持优先级的消息队列
- Redis作为消息队列与RabbitMQ的性能对比
- redis实现有序的消息队列
- Redis实现消息队列技巧
- Redis队列 实现消息推送功能
- redis实现有序的消息队列
- 基于Redis实现分布式消息队列(3)
- Redis学习之实现优先级消息队列
- 应用框架的设计与实现——.NET平台(9 消息队列服务代码分析)
- Redis学习笔记~实现消息队列比MSMQ更方便
- redis实现有序的消息队列
- NoSQL初探之人人都爱Redis:(3)使用Redis作为消息队列服务场景应用案例