laravel+redis实现消息队列,模拟用户发帖,并测试高并发请求
2020-04-21 22:08
946 查看
ps:准备条件,需要学会使用消息队列,我之前的文章有写过,不懂的可以去看下
1、创建测试的控制器
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2020/3/30 * Time: 22:08 */ namespace App\Http\Controllers; use App\Jobs\Notice; use App\User; class HomeController extends Controller { public function store(){ $user = User::query()->first(); Notice::dispatch($user)->delay(now()->addSeconds(3)); dd('文章发布成功'); } }
2、创建任务类
<?php namespace App\Jobs; use App\User; use Illuminate\Bus\Queueable; use Illuminate\Queue\SerializesModels; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; class Notice implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; protected $user; /** * Create a new job instance. * * @return void */ public function __construct(User $user) { $this->user = $user; } /** * Execute the job. * * @return void */ public function handle() { $user = $this->user->first(); $content = $user->name . "发表了新文章" . time() . "\n"; file_put_contents('./notice.txt', $content, FILE_APPEND); } }
3、cmd命令进入apache的bin目录(或者nginx的执行目录)
4、发起1200个请求,并发量为200,后面为请求地址
ab -n 1200 -c 200 http://www.lredis.top/
5、最后可看到,文件如下:
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- PHP中利用redis实现消息队列处理高并发请求--简洁代码实现效果
- PHP中利用redis实现消息队列处理高并发请求
- PHP中利用redis实现消息队列处理高并发请求
- REDIS(限定条件下)实现并发的可靠消息队列
- 消息队列 秒杀实现 redis 高并发 定时任务
- redis 实现消息队列,秒杀功能实现小测试
- 【Java并发】生产者-消费者模式简单实现(模拟消息队列)
- 【并发】9、借助redis 实现生产消费,消息订阅发布模式队列
- 用redis实现支持优先级的消息队列
- Redis实现消息队列
- 转: Redis消息队列的若干实现方式
- Redis笔记(七)Java实现Redis消息队列
- Redis 实现消息队列 MQ
- nodejs微信开发测试,模拟微信事件、消息等请求
- Redis和RabbitMQ实现消息队列
- Redis实现简单消息队列
- Java利用Redis实现消息队列
- 使用redis的发布订阅模式实现消息队列
- 利用Redis 实现消息队列