PHP利用redis实现消息队列

Jackey PHP 3,767 次浏览 , , 没有评论

将请求存入redis为了模拟多个用户的请求,使用一个for循环替代

  1. //redis数据入队操作
  2. $redis = new Redis();
  3. $redis->connect('127.0.0.1',6379);
  4. for($i=0;$i<50;$i++){
  5. try{
  6. $redis->LPUSH('click',rand(1000,5000));
  7. }catch(Exception $e){
  8. echo $e->getMessage();
  9. }
  10. }

在后台进行数据处理,守护进程

  1. //redis数据出队操作,从redis中将请求取出
  2. $redis = new Redis();
  3. $redis->pconnect('127.0.0.1',6379);
  4. while(true){
  5. try{
  6. $value = $redis->LPOP('click');
  7. if(!$value){
  8. break;
  9. }
  10. //var_dump($value)."\n";
  11. /*
  12.   * 利用$value进行逻辑和数据处理
  13.   */
  14. }catch(Exception $e){
  15. echo $e->getMessage();
  16. }
  17. }

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Go