最近有点时间,研究下这个,由浅入深,这算一个开始。
两个方法,一个生产者,一个消费者
话不多说上代码:
生产者:
public function producer()
{
$redis = new \Redis();
$redis->connect('127.0.0.1',6379);
$redis->select(6);
try{
$res = $redis->LPUSH('list',' '.date("Y-m-d H:i:s"));
}catch(Exception $e){
$res = $e->getMessage();
}
return json_encode(['success' => !is_string($res),'result'=>$res]);
}
消费者:
public function run()
{
//
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis->select(6);
echo "状态: " . $redis->ping();
while(true) {
try{
$value = $redis->LPOP('list');
//这里进行业务处理
if($value){
print_r($value);
echo "\n";
}
}catch(Exception $e){
echo $e->getMessage();
}
//1秒钟执行一次
sleep(1);
}
}