Apakah giliran laravel
Dalam laravel, baris gilir ialah jadual linear dengan operasi terhad Ia hanya membenarkan operasi pemadaman di hujung hadapan jadual (kepala baris gilir) dan operasi sisipan di hujung belakang jadual (ekor baris gilir). ; Melalui baris gilir, pembangun boleh menangguhkan pemprosesan tugas yang memakan masa, yang boleh meningkatkan kelajuan tindak balas permintaan web.
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Laravel 6, komputer Dell G3.
Penggunaan baris gilir dalam laravel
1. Apakah itu baris gilir
Barisan Ia adalah jadual linear dengan operasi terhad Ciri khasnya ialah ia hanya membenarkan operasi pemadaman di hujung hadapan jadual dan operasi sisipan di hujung belakang jadual. Penghujung yang melakukan operasi sisipan dipanggil ekor baris gilir, dan penghujung yang melakukan operasi pemadaman dipanggil ketua baris gilir.
Baris gilir membolehkan anda menangguhkan tugasan yang memakan masa, seperti menghantar e-mel, ke tarikh yang akan datang. Menangguhkan tugas yang memakan masa ini boleh meningkatkan kelajuan tindak balas permintaan web dengan ketara.
Kebaikan
Penyahgandingan: Barisan mesej boleh memisahkan sistem dan meningkatkan kelajuan tindak balas diagregatkan ke dalam dan terbuka ke luar;
-
Asynchronous: Baris gilir mesej boleh menanggalkan fungsi tak segerak sistem, mengurangkan gandingan berfungsi dan meningkatkan kecekapan pembangunan; >
Keratan puncak: Baris gilir mesej boleh menggunting puncak dan aliran untuk memastikan operasi pengguna hiliran yang stabil;
Fail konfigurasi baris gilir disimpan dalam config/queue.php. Dalam fail ini, anda boleh menemui konfigurasi sambungan untuk setiap pemacu baris gilir yang disertakan dalam rangka kerja, yang termasuk pangkalan data, Beanstalkd, Amazon SQS, Redis dan pemacu penyegerakan (segerak - untuk kegunaan tempatan). Redis digunakan sebagai pemacu di sini, dan Redis serta sambungan yang berkaitan perlu dipasang.
4. Tugas
Kita perlu meletakkan sesuatu ke dalam baris gilir, kita boleh memanggilnya sebagai tugas. Mencipta tugasan dalam rangka kerja Laravel memberikan kita arahan berikut:
TestJob.phpphp artisan make:job TestJob
5 🎜 >
namespace App\Jobs;use Illuminate\Bus\Queueable;use Illuminate\Contracts\Queue\ShouldBeUnique;use Illuminate\Contracts\Queue\ShouldQueue;use Illuminate\Foundation\Bus\Dispatchable;use Illuminate\Queue\InteractsWithQueue;use Illuminate\Queue\SerializesModels;use Illuminate\Support\Facades\DB;use Symfony\Polyfill\Intl\Idn\Info;class TestJob implements ShouldQueue{ use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; /** * Create a new job instance. * * @return void */ public function __construct() { // } /** * Execute the job. * * @return void */ public function handle() {// \Log::info('hhh'); DB::connection('test') ->table('master') ->insert([ 'name'=>'小白', 'email'=>'123@qq.com' ]); }}
Setelah anda menulis kelas tugasan, anda boleh menghantarnya menggunakan kaedah penghantaran tugas itu sendiri. Parameter yang dihantar kepada kaedah penghantaran akan dihantar kepada pembina tugas. onQueue: Nyatakan baris gilir; onConnection: Nyatakan sambungan; 🎜>
Jalankan laluan ini dua kali dan anda dapat melihat bahawa baris gilir bernama qq dijana Kemudian kami menggunakan baris gilir
Laravel mempunyai pemproses baris gilir untuk memproses tugasan yang baru ditolak ke dalam baris gilir. Mulakan pemproses baris gilir dengan baris perintah Artisan: kerja. Perlu diingat bahawa sebaik sahaja arahan baris gilir:kerja dimulakan, ia akan terus berjalan sehingga ia dihentikan secara manual atau anda menutup terminal anda:<🎜. >
6. Penggunaan baris gilir
#在路由中简单调用 Route::get('queue',function(){ \App\Jobs\TestJob::dispatch(); // \App\Jobs\TestJob::dispatch()->onQueue('qq'); });
php artisan queue: berfungsi --sekali Tambah parameter dan gunakan baris gilir yang ditentukan
Anda boleh melihat bahawa dua keping data baharu ditambahkan pada pangkalan data dan data dalam redis digunakan
Kami melaksanakan penghalaan sekali lagi
#消费qq队列 php artisan queue:work --queue=qq
Jika kami perlu menyimpan perniagaan dalam acara ke dalam baris gilir, kami tidak perlu mengagihkan semula baris gilir Kami boleh melaksanakan antara muka IlluminateContractsQueueShouldQueue dalam pendengar yang sepadan.
Buat acara dan pendengar
Daftar dalam appprovidersEventServiceProvider.php
TestListener.php
>Ubah suai laluan
php artisan make:event TestEvent php artisan make:listener TestListener
Jalankan laluan
Baris gilir penggunaan
namespace App\Listeners; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Facades\DB; class TestListener implements ShouldQueue { /** * Create the event listener. * * @return void */ public function __construct() { // } /** * Handle the event. * * @param object $event * @return void */ public function handle() { DB::connection('test') ->table('master') ->insert([ 'name'=>'小黑', 'email'=>'234@qq.com' ]); } }
Route::get('queue',function(){ //\App\Jobs\TestJob::dispatch(); //指定队列名称 //\App\Jobs\TestJob::dispatch()->onQueue('qq'); return event(new \App\Events\TestEvent()); });
[Cadangan berkaitan: tutorial video laravel]
Atas ialah kandungan terperinci Apakah giliran laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Operasi pangkalan data dalam PHP dipermudahkan menggunakan ORM, yang memetakan objek ke dalam pangkalan data hubungan. EloquentORM dalam Laravel membolehkan anda berinteraksi dengan pangkalan data menggunakan sintaks berorientasikan objek Anda boleh menggunakan ORM dengan mentakrifkan kelas model, menggunakan kaedah Eloquent atau membina sistem blog dalam amalan.

Versi terkini Laravel 9 dan CodeIgniter 4 menyediakan ciri dan penambahbaikan yang dikemas kini. Laravel9 menggunakan seni bina MVC dan menyediakan fungsi seperti migrasi pangkalan data, pengesahan dan enjin templat. CodeIgniter4 menggunakan seni bina HMVC untuk menyediakan penghalaan, ORM dan caching. Dari segi prestasi, corak reka bentuk berasaskan pembekal perkhidmatan Laravel9 dan rangka kerja ringan CodeIgniter4 memberikannya prestasi cemerlang. Dalam aplikasi praktikal, Laravel9 sesuai untuk projek kompleks yang memerlukan fleksibiliti dan fungsi berkuasa, manakala CodeIgniter4 sesuai untuk pembangunan pesat dan aplikasi kecil.

Laravel - Perintah Artisan - Laravel 5.7 hadir dengan cara baharu untuk merawat dan menguji arahan baharu. Ia termasuk ciri baharu untuk menguji arahan artisan dan demonstrasi disebut di bawah?

Bandingkan keupayaan pemprosesan data Laravel dan CodeIgniter: ORM: Laravel menggunakan EloquentORM, yang menyediakan pemetaan hubungan kelas-objek, manakala CodeIgniter menggunakan ActiveRecord untuk mewakili model pangkalan data sebagai subkelas kelas PHP. Pembina pertanyaan: Laravel mempunyai API pertanyaan berantai yang fleksibel, manakala pembina pertanyaan CodeIgniter lebih ringkas dan berasaskan tatasusunan. Pengesahan data: Laravel menyediakan kelas Pengesah yang menyokong peraturan pengesahan tersuai, manakala CodeIgniter mempunyai kurang fungsi pengesahan terbina dalam dan memerlukan pengekodan manual peraturan tersuai. Kes praktikal: Contoh pendaftaran pengguna menunjukkan Lar

Apabila memilih rangka kerja untuk projek besar, Laravel dan CodeIgniter masing-masing mempunyai kelebihan mereka sendiri. Laravel direka untuk aplikasi peringkat perusahaan, menawarkan reka bentuk modular, suntikan pergantungan dan set ciri yang berkuasa. CodeIgniter ialah rangka kerja ringan yang lebih sesuai untuk projek kecil hingga sederhana, menekankan kelajuan dan kemudahan penggunaan. Untuk projek besar dengan keperluan yang kompleks dan bilangan pengguna yang ramai, kuasa dan kebolehskalaan Laravel adalah lebih sesuai. Untuk projek atau situasi mudah dengan sumber terhad, keupayaan pembangunan CodeIgniter yang ringan dan pantas adalah lebih ideal.

Untuk pemula, CodeIgniter mempunyai keluk pembelajaran yang lebih lembut dan ciri yang lebih sedikit, tetapi meliputi keperluan asas. Laravel menawarkan set ciri yang lebih luas tetapi mempunyai keluk pembelajaran yang lebih curam. Dari segi prestasi, kedua-dua Laravel dan CodeIgniter berprestasi baik. Laravel mempunyai dokumentasi yang lebih luas dan sokongan komuniti yang aktif, manakala CodeIgniter lebih ringkas, ringan dan mempunyai ciri keselamatan yang kukuh. Dalam kes praktikal membina aplikasi blog, EloquentORM Laravel memudahkan manipulasi data, manakala CodeIgniter memerlukan lebih banyak konfigurasi manual.

Unit PHP dan Panduan Pengujian Penyepaduan Pengujian Unit: Fokus pada satu unit kod atau fungsi dan gunakan PHPUnit untuk mencipta kelas kes ujian untuk pengesahan. Ujian integrasi: Beri perhatian kepada cara berbilang unit kod berfungsi bersama, dan gunakan kaedah setUp() dan tearDown() PHPUnit untuk menyediakan dan membersihkan persekitaran ujian. Kes praktikal: Gunakan PHPUnit untuk melaksanakan ujian unit dan penyepaduan dalam aplikasi Laravel, termasuk mencipta pangkalan data, memulakan pelayan dan menulis kod ujian.

Seni bina perkhidmatan mikro menggunakan rangka kerja PHP (seperti Symfony dan Laravel) untuk melaksanakan perkhidmatan mikro dan mengikut prinsip RESTful dan format data standard untuk mereka bentuk API. Perkhidmatan mikro berkomunikasi melalui baris gilir mesej, permintaan HTTP atau gRPC dan menggunakan alatan seperti Prometheus dan ELKStack untuk pemantauan dan penyelesaian masalah.
