在实际的开发当中,当系统需要使用简单的任务列表的时候,我们可以使用Redis来充当队列(因为Redis本来就自带队列,简单易用,效率也不低,免去使用MQ等麻烦)。 使用Redis的队列,我们要记住2个常用的命令 : LPUSH & LPOP 上面两个命令是不是很熟悉:PUSH 和 POP ,不错,其实就是这个英文,只是在前面加上L大写开头。 上例子(PHP):
一、生产者:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <?php
$redis = new Redis();
$redis->pconnect('127.0.0.1", "6379"); //写入单个信息 $redis->LPush('message', 'a'); //写入多个信息 $redis->LPush('message','b','c','d'); //关闭redis连接 $redis->close();
?>
|
二、消费者:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <?php
$redis = new Redis();
$redis->pconnect('127.0.0.1', 6379);
while(true) { try { $data = $redis->LPOP('message'); } catch(Exception $e) { } }
?>
|
具体例子就如上面,其实还有其他关于 队列的 函数可以用,具体请参考: http://redisdoc.com/list/index.html