Rumah >rangka kerja php >Laravel >redis penggunaan laravel
Laravel ialah rangka kerja pembangunan PHP yang popular Ia memenangi gelaran rangka kerja PHP paling popular dalam "Tinjauan Pembangun Laravel 2020". Antaranya, fungsi Redis Laravel digunakan secara meluas, yang boleh membantu pembangun mencapai pemprosesan caching dan baris gilir yang cekap.
Redis ialah sistem storan data dalam memori sumber terbuka, iaitu pangkalan data NoSQL yang serupa dengan pasangan nilai kunci. Ciri Redis ialah ia boleh menyokong pelbagai struktur data, seperti rentetan, senarai, cincang, set, set tersusun, dll. Ia juga mempunyai kelebihan prestasi tinggi, ketersediaan tinggi, kebolehskalaan dan kemudahan penggunaan, jadi ia sangat popular dalam pembangunan telah digunakan secara meluas. Seterusnya, kami akan memperkenalkan penggunaan Redis dalam Laravel secara terperinci.
Konfigurasi Redis
Sebelum menggunakan Redis dalam Laravel, anda mesti mengkonfigurasinya terlebih dahulu. Buka fail .env dan cari item konfigurasi berikut:
CACHE_DRIVER=file SESSION_DRIVER=file REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
Antaranya, CACHE_DRIVER mewakili pemacu cache, dan nilai lalai ialah fail Di sini kita perlu menukarnya kepada Redis, iaitu:
CACHE_DRIVER=redis
SESSION_DRIVER Begitu juga. REDIS_HOST mewakili alamat perkhidmatan Redis, yang lalai kepada 127.0.0.1 mesin tempatan REDIS_PASSWORD mewakili kata laluan Redis. REDIS_PORT menunjukkan port yang didengari oleh perkhidmatan Redis, dan lalainya ialah 6379.
Untuk menguji penggunaan, Redis yang kami gunakan di sini dipasang pada mesin tempatan tanpa menetapkan kata laluan. Jika anda menggunakan Redis jauh, anda perlu mengubah suai REDIS_HOST dan REDIS_PORT, dan juga menetapkan REDIS_PASSWORD.
Caching dengan Redis
Caching dengan Redis dalam Laravel adalah sangat mudah. Kita hanya perlu menggunakan kelas Cache untuk mengakses cache, dan kemudian tetapkan pemacunya kepada Redis, supaya Redis boleh digunakan untuk caching.
Terdapat banyak cara untuk cache nilai menggunakan Redis Di sini kami mula-mula memperkenalkan caching nilai.
use IlluminateSupportFacadesCache; Cache::store('redis')->put('key', 'value', $seconds);
Kod di atas mengakses cache Redis melalui Cache::store('redis'), dan kemudian cache pasangan nilai kunci menggunakan kaedah put. Antaranya, $seconds mewakili tempoh sah cache dalam saat. Apabila nilai $seconds adalah batal, cache tidak akan luput.
Tujuan caching nilai adalah untuk mendapatkan nilai secara langsung pada masa hadapan. Kita boleh menggunakan kelas Cache Laravel untuk mendapatkan nilai ini:
use IlluminateSupportFacadesCache; $value = Cache::store('redis')->get('key');
Kod di atas mengakses cache Redis melalui Cache::store('redis'), dan kaedah get memperoleh nilai yang sepadan dengan kunci.
Apabila kita perlu memadam cache, kita boleh menggunakan kod berikut:
use IlluminateSupportFacadesCache; Cache::store('redis')->forget('key');
Kod di atas diakses melalui Cache::store('redis ') Redis cache, kaedah lupa memadam cache yang sepadan.
Untuk menentukan sama ada cache wujud, kita boleh menggunakan kod berikut:
use IlluminateSupportFacadesCache; if (Cache::store('redis')->has('key')) { // }
Kod di atas mengakses Redis melalui Cache::store( 'redis') Dalam cache, kaedah has menentukan sama ada nilai yang sepadan dengan kunci wujud.
Gunakan Redis untuk pemprosesan baris gilir
Untuk menggunakan Redis untuk pemprosesan baris gilir dalam Laravel, anda perlu memperkenalkan penyedia perkhidmatan baris gilir terlebih dahulu. Buka fail config/app.php, cari tatasusunan penyedia dan tambah kod berikut:
'providers' => [ // ... IlluminateQueueQueueServiceProvider::class, IlluminateRedisRedisServiceProvider::class, // ... ],
Seterusnya, kita perlu mengkonfigurasi sambungan baris gilir. Buka fail config/queue.php dan ubah suai item konfigurasi berikut:
'connections' => [ 'redis' => [ 'driver' => 'redis', 'connection' => 'default', 'queue' => 'default', 'retry_after' => 90, 'block_for' => null, ], ],
Antaranya, pemandu bermaksud menggunakan sambungan pemacu Redis bermaksud sambungan cache yang digunakan bermaksud nama gilir yang digunakan; kegagalan berlaku, dalam saat block_for mewakili masa menyekat apabila memperoleh tugas, dalam saat.
Seterusnya, kita boleh menggunakan kod berikut untuk menolak tugasan ke baris gilir:
use IlluminateSupportFacadesQueue; Queue::push(new SendEmailJob($user));
Kod di atas menggunakan Queue::push kaedah untuk menolak SendEmailJob ke baris gilir lalai. Antaranya, SendEmailJob ialah kelas tugas tersuai yang boleh melaksanakan logik yang lebih kompleks.
Selepas menolak tugas ke baris gilir, kita perlu menggunakan arahan berikut untuk melaksanakan tugas:
php artisan queue:work
Arahan di atas akan memulakan proses untuk melaksanakan tugas giliran. Jika pelayan anda mempunyai berbilang teras CPU, anda boleh meningkatkan kelajuan pemprosesan tugas dengan menambah pilihan --daemon untuk memulakan berbilang proses.
Fungsi Redis Laravel sangat berkuasa, dan pemprosesan caching dan baris gilir yang sangat baik boleh dicapai melalui kerjasama dengan Redis. Apabila berurusan dengan konkurensi tinggi dan perniagaan yang kompleks, menggunakan cache dan baris gilir Redis boleh meningkatkan prestasi dan kestabilan sistem dengan ketara. Artikel ini memperkenalkan secara ringkas penggunaan Redis dalam Laravel dan berharap dapat membantu kerja pembangunan anda.
Atas ialah kandungan terperinci redis penggunaan laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!