Rumah  >  Artikel  >  rangka kerja php  >  Pembangunan Laravel: Bagaimana untuk menggunakan Laravel Redis untuk melaksanakan caching data?

Pembangunan Laravel: Bagaimana untuk menggunakan Laravel Redis untuk melaksanakan caching data?

WBOY
WBOYasal
2023-06-13 17:45:391631semak imbas

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.

Pemasangan

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

Konfigurasikan Laravel Redis

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),
    ],
],

Menggunakan Laravel Redis

Setelah pemacu dan konfigurasi Laravel Redis disediakan, kita boleh mula menggunakannya. Berikut ialah 3 kaedah untuk caching data dengan Laravel Redis:

Caching Normal

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.

Caching Tag

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.

Fungsi tambahan

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.

Kesimpulan

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn