Redis实战系列(2) 使用List结构构造高效的队列系统
来源:互联网 发布:开拓者 交易软件 收费 编辑:程序博客网 时间:2024/05/18 00:34
Redis 提供了brpop blpop brpoplpush三个阻塞命令来监听一个List数据结构。下面是php脚本
server.php$redis = new Redis();$redis->connect('127.0.0.1');while(true){$data = $o->brpop(array('key1','key2'), 30);var_dump($data); //array('key1'=>'data1')}client.php$redis = new Redis();$redis->connect('127.0.0.1');for($i=0;$i<10000; $i++){$redis->lpush('key1','data'.$i);}
而使用brpoplpush可以构建一个可靠的队列,brpop将元素从list中弹出,如果没有处理完毕那这个事件就消失了,如果用brpoplpush,就可以讲正在处理的key弹出到另外一个list结构中,这样在进程处理完成时调用lrem来删除这个元素。php代码:
server.php$redis = new Redis();$redis->connect('127.0.0.1');while(true){$data = $o->brpoplpush('key1','key2'), 30);var_dump($data); //data1//some process$o->lrem($key2,$data);}client.php$redis = new Redis();$redis->connect('127.0.0.1');for($i=0;$i<10000; $i++){$redis->lpush('key1','data'.$i);}
- Redis实战系列(2) 使用List结构构造高效的队列系统
- Redis系列-5.列表(List)结构
- Redis实战系列(6) 利用lua对redis特定类型元素的list进行分段
- Redis和消息队列使用实战
- Redis和消息队列使用实战
- 使用redis list作为消息队列
- Redis数据结构list的任务队列
- Laravel 队列系列 —— 基于 Redis 实现任务队列的基本配置和使用
- 利用redis构造一个高效的频率控制服务
- redis数据类型List的安全队列和不安全队列
- Redis实战系列(4) key的设计
- redis学习系列(四)--redis基础SDS的构造
- redis学习系列(五)--redis基础字典的构造
- Redis实战系列
- redis 数据类型list的使用
- php中使用Redis构建高效框架系统
- Redis系列- list类型
- redis系列--list命令
- 固定收益证券(fixed income)
- Eclipse查找代码块的方法
- VB实现文件数据对SQL Server上传下载
- 为什么一打开AutoCAD2010就会一闪而掉
- 面向对象--接口与抽象类
- Redis实战系列(2) 使用List结构构造高效的队列系统
- 深入浅出MFC学习笔记:(第一章:win32基本概念,第二章:C++的重要性质)
- C语言指针学习笔记
- php中mkdir()函数的权限问题
- JAVA中String与StringBuffer的区别
- TWaver3D 编辑器的使用(二)—— 定制模板module
- 有关eclipse中使用svn的案例
- Quip:帮用户找回读Tweet乐趣的酷应用
- linux磁盘分区详解