博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redis 队列 生产者 消费者模式
阅读量:4199 次
发布时间:2019-05-26

本文共 1089 字,大约阅读时间需要 3 分钟。

1.

生产者:

pconnect('10.10.10.252',6379);$redis->auth('rds!2016!FD');for($i=1;$i<=10;$i++){ //$redis->publish('chan-1', 'hello, world!'.$i); // send message to channel 1. //$redis->publish('chan-2', 'hello, world2!'.$i); // send message to channel 2. $key = "key1"; $msg = "hello world - ".$i; $redis->lpush($key, $msg);} print "\n"; $redis->close(); //redisDao.lpush(key, msg); ?>
消费者:(多个,争抢模式)

pconnect('10.10.10.252',6379);$redis->auth('rds!2016!FD');$key = "key1";while (true) { //echo 1; // block invoke $msgs = $redis->brpop($key,2); if ( $msgs == null) continue; var_dump($msgs); }?>

2.考虑到失败情况: 消费者(保存到list key2,如果其他的操作成功,从key2中删除 添加的数据。)

pconnect('10.10.10.252',6379);$redis->auth('rds!2016!FD');/*$key = "key1";while (true) { //echo 1; // block invoke $msgs = $redis->brpop($key,2); if ( $msgs == null) continue; var_dump($msgs); } */ while(true){ $data = $redis->brpoplpush('key1','key2', 30); var_dump($data); //data1 $dd = $redis->lrange('key2',0,-1); var_dump($dd); //some process $redis->lrem('key2',$data); } ?>

转载地址:http://qxdli.baihongyu.com/

你可能感兴趣的文章
条款15:让operator=返回*this的引用
查看>>
装箱和拆箱数据类型转换
查看>>
MFC 消息映射的工作方式
查看>>
MFC项目Unicode版本程序入口
查看>>
精典FormsAuthenticationTicket分析
查看>>
asp.net form验证
查看>>
VS2008中安装ASP.NET MVC2后无法新建工程的解决方法
查看>>
SQL Server 标识列
查看>>
SQL WITH TIES
查看>>
ASP.NET调用存储过程并接收存储过程返回值
查看>>
Debian: Driver 'pcspkr' is already registered, aborting
查看>>
Samba
查看>>
JavaScript原型和继承
查看>>
passdb backend = tdbsam
查看>>
Samba配置文件常用参数
查看>>
debian安装mongodb
查看>>
2020-10-20
查看>>
易购考拉The first day
查看>>
易购考拉 The second day
查看>>
易购考拉 On the third day
查看>>