Laravel ialah rangka kerja PHP yang sangat popular yang digunakan secara meluas dalam pembangunan web. Rangka kerja Laravel menyediakan banyak API dan komponen yang mudah, termasuk caching data. Redis ialah storan struktur data dalam memori sumber terbuka yang popular yang boleh memperbaik pertanyaan data dan kecekapan membaca dengan sangat berkesan. Artikel ini akan memperkenalkan cara menggunakan Laravel Redis untuk melaksanakan caching data dalam Laravel untuk meningkatkan prestasi aplikasi web.
Mula-mula, kita perlu memasang Laravel Redis. Ia boleh dipasang menggunakan Komposer dengan menjalankan arahan berikut:
composer require predis/predis
Laksanakan pemacu cache Laravel Redis menggunakan pakej predis/predis. Selepas melengkapkan pemasangan, pembolehubah REDIS_HOST, REDIS_PASSWORD dan REDIS_PORT perlu ditetapkan dalam fail .env
.
REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
Ubah suai konfigurasi dalam fail config/cache.php
dan tukar pilihan 'lalai' kepada 'redis' untuk menggunakan Redis sebagai pemacu cache. Selain itu, tetapkan maklumat sambungan Redis dalam tatasusunan 'redis'.
'default' => env('CACHE_DRIVER', 'redis'), 'redis' => [ 'client' => 'predis', 'default' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => env('REDIS_DB', 0), ], ],
Setelah pemacu dan konfigurasi Laravel Redis disediakan, kita boleh mula menggunakannya. Berikut ialah 3 kaedah untuk caching data dengan Laravel Redis:
Cara paling mudah untuk menggunakan Laravel Redis ialah kaedah asas menggunakan fasad Cache
. Rangka kerja Laravel menyediakan banyak ciri lanjutan, tetapi di sini kami menekankan kaedah caching yang paling asas. Caching boleh dilakukan melalui kod berikut:
use IlluminateSupportFacadesCache; $value = Cache::remember('key', $minutes, function () { return DB::table('users')->get(); });
Kod di atas menyimpan cache hasil daripada jadual "pengguna" ke dalam Redis. Selepas ini, salinan cache dalam Redis akan digunakan semula apabila memanggil kunci dan bukannya menjana semula hasil daripada pangkalan data sumber. Parameter kedua kaedah Cache::remember
ialah tempoh sah cache dalam beberapa minit, atau kaedah Cache::forever
boleh digunakan untuk menyimpan data secara kekal ke cache.
Kaedah caching lanjutan lain dengan Laravel Redis ialah menggunakan tag. Teg membolehkan anda membuat dan menangkap berbilang entri cache dan kemudian mengosongkan kesemuanya menggunakan teg. Cache tag menyediakan kawalan yang lebih baik ke atas kitaran hayat cache.
use IlluminateSupportFacadesCache; Cache::tags(['people', 'artists'])->put('John', $john, $minutes); Cache::tags(['people', 'authors'])->put('Jane', $jane, $minutes);
Kod di atas menyimpan John
dalam dua teg people
dan artists
, serta menyimpan Jane
dalam dua teg people
dan authors
. Kini anda boleh menggunakan kaedah flush
bagi teg tertentu untuk mengosongkan semua item cache di bawah teg itu sahaja.
Cache::tags(['people'])->flush();
Kod di atas mengosongkan semua cache dengan tag people
dan memadamkannya daripada Redis.
Laravel Redis juga menyediakan beberapa fungsi tambahan yang mempunyai fungsi yang lebih sedikit tetapi lebih mudah digunakan. Berikut ialah beberapa daripadanya:
cache()->put('key', 'value', $minutes)
Cache nilai input untuk jangka masa tertentu. cache()->get('key')
Mendapatkan semula nilai cache. cache()->remember('key', $minutes, function() { return 'value'; })
Dapatkan sebarang item cache, mengembalikan nilai baharu apabila gagal. cache()->rememberForever()
Sentiasa ingat item cache. Laravel Redis menyediakan beberapa kaedah yang ringkas dan mudah digunakan untuk cache data dan mencapai pembacaan dan pertanyaan data yang cekap dalam aplikasi web. Rangka kerja Laravel hampir dikuasakan sepenuhnya oleh Komposer, yang memudahkan kerja dengan Laravel Redis. Faedah menggunakan cache Laravel Redis pada aplikasi web yang besar ialah ia mengurangkan masa terbuang daripada pangkalan data yang lebih perlahan dan meningkatkan kelajuan pertanyaan untuk data dinamik.
Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk menggunakan Laravel Redis untuk melaksanakan caching data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!