Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk mereka bentuk cache dalam laravel

Bagaimana untuk mereka bentuk cache dalam laravel

王林
王林asal
2023-05-21 12:29:37631semak imbas

Apabila kerumitan aplikasi web terus meningkat, penggunaan cache menjadi semakin penting. Dalam Laravel, caching direka bentuk untuk menjadi sangat fleksibel dan mudah digunakan. Artikel ini akan memperkenalkan idea reka bentuk asas caching dalam Laravel dan cara menggunakannya.

1. Prinsip Caching

Caching ialah teknologi yang menyimpan hasil pengiraan, data rangkaian atau hasil operasi komputer lain di lokasi yang mudah diakses. Menyimpan data dalam cache dengan ketara mengurangkan kependaman akses dan beban pelayan dan menjadikan akses kepada data lebih cepat dan lebih selesa berbanding dengan mengambil data setiap kali daripada sumber.

Laravel menyediakan banyak pemacu cache, termasuk fail, pangkalan data, Redis dan Memcached, dsb., untuk memudahkan pengurusan dan caching data. Pemacu cache yang paling biasa digunakan ialah pemacu fail dan Redis.

Apabila kami menggunakan Laravel, kami biasanya menggunakan caching untuk meningkatkan prestasi aplikasi. Selain itu, caching juga sesuai untuk melindungi aplikasi web daripada serangan, khususnya melindunginya daripada serangan DDoS.

2. Gunakan cache

Sangat mudah untuk menggunakan cache dalam Laravel. Data boleh disimpan dan diambil menggunakan fasad Cache atau menggunakan fungsi pembantu cache. Adalah penting untuk mengenal pasti pemacu cache yang betul dan memilih pengecam cache yang betul, jika tidak, keputusan yang tidak dijangka mungkin berlaku.

1. Konfigurasikan pemacu cache

Dalam Laravel, pemacu cache menentukan tempat data disimpan dan kaedah yang digunakan untuk menyimpan dan mendapatkan semula data. Secara lalai, fail konfigurasi disimpan dalam config/cache.php, yang mentakrifkan pemacu cache lalai dan pemacu cache lain yang tersedia.

Jika anda ingin menukar pemacu cache lalai, anda boleh menetapkan pembolehubah .env dalam CACHE_DRIVER. Secara lalai, Laravel menggunakan caching fail, tetapi caching ini tidak sesuai untuk tapak dengan trafik tinggi. Oleh itu, pemacu cache Redis mungkin merupakan pilihan yang lebih baik.

2. Menggunakan cache

Menggunakan cache adalah sangat mudah dan hanya memerlukan beberapa baris kod untuk melengkapkan proses menyimpan dan mendapatkan semula data.

Simpan data:

Cache::put('key', 'value', $minutes);

Kaedah ini menyimpan data dalam cache dan menentukan masa tamat tempoh cache dalam beberapa saat.

Jika anda ingin menyimpan data secara kekal, anda boleh menggunakan kaedah selama-lamanya:

Cache::forever('key', 'value');

Dapatkan semula data:

$value = Cache::get('key');

Mengembalikan null jika kunci cache yang ditentukan tidak ditemui.

Selain itu, anda juga boleh menggunakan kaedah has untuk menyemak sama ada kunci cache wujud:

if (Cache::has('key')) {
    //do something
}

3 Pengecam cache

Dalam Laravel, pengecam cache ialah kuncinya. kepada caching. Ia biasanya rentetan yang mewakili keunikan entri cache. Apabila menentukan pengecam cache, perkara berikut harus dipertimbangkan:

1. Pastikan pengecam adalah unik. Pengecam cache mestilah unik kerana konflik data mungkin berlaku jika dua atau lebih entri cache menggunakan pengecam yang sama.

2. Pastikan pengecam boleh dibaca. Pengecam cache hendaklah digunakan yang mudah dibaca dan difahami.

3. Hadkan panjang pengecam. Panjang pengecam cache hendaklah cukup pendek untuk memudahkan penyimpanan dan mendapatkan semula data. Untuk pengecam yang lebih panjang, pertimbangkan untuk menggunakan cincang.

4. Cache dalam amalan

Apabila menggunakan cache, kita perlu mempertimbangkan keseimbangan antara masa nyata dan ketepatan data. Jika kita memerlukan data "segar", maka membaca data dari pangkalan data dengan segera adalah cara terbaik. Walau bagaimanapun, jika kita perlu mengendalikan sebilangan besar permintaan, membaca data daripada pangkalan data setiap kali boleh menjejaskan prestasi aplikasi web.

Oleh itu, kami boleh mengimbangi prestasi dan ketepatan data dengan mengehadkan masa tamat tempoh kunci cache. Laravel membenarkan kami memadamkan kunci cache apabila data berubah. Apabila permintaan seterusnya datang, kunci cache akan dibuat semula dan data akan disimpan semula untuk kegunaan selanjutnya oleh aplikasi.

Berikut ialah contoh penggunaan caching:

public function getUsers()
{
    $key = 'users';
    $minutes = 60;
    $users = Cache::remember($key, $minutes, function () {
        return DB::table('users')->get();
    });
    return $users;
}

Dalam contoh ini, kami akan menyemak sama ada terdapat nilai yang sepadan dengan kunci cache users. Jika ada, nilai ini akan dikembalikan. Jika kunci cache tidak tersedia, senarai pengguna akan diambil daripada pangkalan data dan dicache.

Jika kita perlu memaksa muat semula cache, kita boleh menggunakan kaedah lupa:

Cache::forget('users');

Ini akan mengalih keluar kunci cache yang ditentukan daripada cache.

Selain itu, kita boleh menggunakan fasad Cache atau fungsi pembantu cache untuk menetapkan pengecam cache dan masa cache.

5. Kesimpulan

Caching ialah bahagian penting dalam pemprosesan data dalam aplikasi web. Laravel menyediakan sistem caching fleksibel yang boleh membantu kami memproses data dengan lebih cekap dan meningkatkan prestasi aplikasi web. Dengan menggunakan pengecam cache dan pemacu cache dengan betul, kami boleh mencapai kebolehskalaan dan kebolehlanjutan dengan mudah.

Apabila menggunakan caching, anda perlu memberi perhatian kepada keseimbangan yang betul antara prestasi dan ketepatan data. Dengan memilih masa tamat tempoh kunci cache dan memadam data cache yang tidak digunakan, kami boleh mencapai aplikasi web yang lebih cekap.

Atas ialah kandungan terperinci Bagaimana untuk mereka bentuk cache dalam laravel. 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