laravel配置使用Redis队列
生活随笔
收集整理的這篇文章主要介紹了
laravel配置使用Redis队列
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
目錄
目錄
一.安裝Redis和擴(kuò)展配置
二.安裝redis的依賴(lài)
三.配置laravel隊(duì)列
四.創(chuàng)建隊(duì)列
五.啟動(dòng)隊(duì)列
六.使用隊(duì)列
七.最終結(jié)果
一.安裝Redis和擴(kuò)展配置
這里就跳過(guò),可以專(zhuān)門(mén)去看安裝Redis以及配置PHP擴(kuò)展的文章
二.安裝redis的依賴(lài)
laravel根目錄下運(yùn)行命令 composer require predis/predis
安裝時(shí)報(bào)內(nèi)存溢出
PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes)解決:
php -r "echo ini_get('memory_limit').PHP_EOL;" //命令行執(zhí)行,獲取當(dāng)前內(nèi)存限制大小修改php.ini配置文件
memory_limit = -1安裝完后,再改回來(lái)
三.配置laravel隊(duì)列
修改.env配置,將QUEUE_CONNECTION=sync改為
QUEUE_CONNECTION=redis四.創(chuàng)建隊(duì)列
使用命令創(chuàng)建隊(duì)列,在app/Jobs目錄
php artisan make:job TestQueueTestQueue.php文件
<?phpnamespace App\Jobs;use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Illuminate\Support\Facades\Cache;class TestQueue implements ShouldQueue {use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;public $data;/*** Create a new job instance.** @return void*/public function __construct($data){//接收消息return $this->data = $data;}/*** Execute the job.** @return void*/public function handle(){//消費(fèi)消息Cache::add('data', $this->data);} }五.啟動(dòng)隊(duì)列
起一個(gè)命令行,開(kāi)啟隊(duì)列監(jiān)聽(tīng),頻道為T(mén)est
php artisan queue:listen redis --queue=Test六.使用隊(duì)列
往Test頻道中投遞消
Route::get('job', function () {TestQueue::dispatch('隊(duì)列消息')->onQueue('Test');return 'ok'; });七.最終結(jié)果
最終cache緩存文件中添加了數(shù)據(jù)
9999999999s:12:"隊(duì)列消息";總結(jié)
以上是生活随笔為你收集整理的laravel配置使用Redis队列的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: git remote 指定分支_git从
- 下一篇: Cydia崩溃错误修复