Cara Menggunakan Memcache di Laravel – StartupGuys.net

By | 14/06/2022


Dengan caching, Anda dapat menyimpan data untuk akses yang mudah, sehingga permintaan di masa mendatang untuk data tersebut dapat dipenuhi dengan cepat. Data yang disimpan dalam cache mungkin dari perhitungan sebelumnya atau diduplikasi dari tempat lain. Jadi setiap kali hasil yang sama diperlukan, Anda bisa menggunakan nilai yang di-cache tanpa perhitungan berulang. Ini adalah cara yang bagus untuk mengoptimalkan kecepatan dan kinerja.

Dalam bagian ini, Anda akan belajar cara menggunakan kerangka kerja Memcache untuk menyimpan data di situs Laravel Anda tanpa hambatan.

Apa itu Caching Laravel?

Laravel mendukung backend caching terkenal seperti Memcached dan Redis di luar kotak. Ia juga menawarkan API terpadu untuk kerangka kerja caching yang berbeda. Anda dapat menemukan pengaturan cache di app/config/cache.php. Dalam catatan ini, Anda akan menentukan driver cache mana yang ingin Anda gunakan secara default di seluruh aplikasi Anda.

Laravel menawarkan backend dan driver caching yang luar biasa yang dapat Anda alihkan, tergantung pada kasus penggunaan Anda, untuk meningkatkan kinerja aplikasi dan waktu muat Anda.

Ketika data baru di-cache, Laravel membuat file terenkripsi dengan informasi dan kunci cache. Hal yang sama terjadi ketika klien mencoba memulihkan konten. Cache Laravel mencari melalui folder untuk kunci yang diperlukan dan kemudian mengembalikan konten yang ditemukan.

Catatan penyiapan cache berisi banyak pilihan lain yang dilaporkan di dalam catatan, jadi pastikan untuk mempelajari alternatif ini. Laravel diatur untuk menggunakan driver record cache secara default, yang menyimpan objek yang di-cache bersambung di dalam sistem file. Untuk aplikasi yang lebih besar, Anda disarankan menggunakan cache dalam memori seperti Memcached atau APC.

Memcached adalah program sumber terbuka dan gratis yang disahkan oleh izin BSD yang Diubah.

Kerangka kerja penyimpanan cache memori yang disebarluaskan untuk tujuan umum ini mempercepat situs web yang digerakkan oleh basis data dinamis dengan menyimpan informasi dan objek dalam RAM untuk mengurangi berapa kali sumber informasi eksternal harus dibaca.

Dalam kerangka Memcached, setiap cache terdiri dari kunci, waktu kedaluwarsa, flag opsional, dan informasi mentah. Ketika sesuatu diminta, Memcached memeriksa waktu permintaan sebelum mengembalikannya ke klien. Cache ditingkatkan pada saat yang sama dengan database.

Secara default, Memcached bertindak sebagai cache yang Terakhir Digunakan dengan batas waktu kedaluwarsa. Jika server kehabisan memori, ia mencari item yang kedaluwarsa untuk mengganti atau menggunakan cache yang jelas laravel. Jika memori ekstra masih diperlukan, Memcached menggantikan item yang tidak diminta untuk jangka waktu tertentu selama periode waktu tunggu penghentian atau lebih lama, dengan mempertahankan data yang diminta lebih baru di memori.

Mengapa Caching Penting?

Untuk sebagian besar, cache melacak reaksi yang sering terjadi terhadap permintaan klien. Mereka juga menyimpan hasil operasi komputasi yang diperluas.

Inilah cara caching membantu:

  • Caching data secara dramatis mempercepat eksekusi aplikasi.
  • Ini memungkinkan browser dan situs web memuat lebih cepat karena elemen akses seperti gambar beranda telah diunduh.
  • Caching lebih cepat daripada mengakses memori utama setiap kali sesuatu harus diambil.
  • Ini juga meningkatkan kecepatan mengakses data, dan meningkatkan kinerja CPU.
  • Dan karena data terbaru disimpan dalam cache, outputnya lebih cepat.

Pelajari Cara Menggunakan Memcache di Laravel

Penggunaan Tembolok

Menyimpan item dalam cache

Cache::put(‘kunci’, ‘nilai’, $menit);

Menggunakan objek karbon untuk mengatur waktu kedaluwarsa

$expiresAt = Karbon::now()->addMinutes(10);

Cache::put(‘kunci’, ‘nilai’, $kedaluwarsaAt);

Menyimpan item dalam cache jika tidak ada

Cache::add(‘kunci’, ‘nilai’, $menit);

Metode add akan mengembalikan nilai true jika item benar-benar ditambahkan ke cache. Jika tidak, metode akan mengembalikan false.

Memeriksa keberadaan dalam cache

jika (Cache::has(‘key’))

{

//

}

Mengambil item dari cache

$nilai = Cache::get(‘kunci’);

Mengambil item atau mengembalikan nilai default

$nilai = Cache::get(‘kunci’, ‘default’);

$nilai = Cache::get(‘key’, function() { return ‘default’; });

Menyimpan item dalam cache secara permanen

Cache::forever(‘kunci’, ‘nilai’);

Terkadang Anda mungkin ingin mengambil item dari cache, tetapi juga menyimpan nilai default jika item yang diminta tidak ada. Untuk ini, gunakan metode Cache::remember:

$nilai = Cache::remember(‘pengguna’, $menit, fungsi()

{

kembalikan DB::tabel(‘pengguna’)->get();

});

Anda juga dapat menggabungkan metode ingat dan selamanya:

$nilai = Cache::rememberForever(‘pengguna’, fungsi()

{

kembalikan DB::tabel(‘pengguna’)->get();

});

Perhatikan bahwa semua item yang disimpan dalam cache adalah serial, jadi Anda bebas menyimpan semua jenis data.

Menarik item dari cache

Jika Anda perlu mengambil item dari cache dan kemudian menghapusnya, Anda dapat menggunakan metode tarik:

$nilai = Cache::pull(‘kunci’);

Menghapus item dari cache

Cache::forget(‘kunci’);

Akses penyimpanan cache tertentu

Saat menggunakan beberapa penyimpanan cache, Anda dapat mengaksesnya melalui metode penyimpanan:

$nilai = Cache::store(‘foo’)->get(‘key’);

Kenaikan & Penurunan

Semua driver kecuali database mendukung operasi penambahan dan pengurangan:

Menaikkan nilai

Cache::increment(‘kunci’);

Cache::increment(‘kunci’, $jumlah);

Mengurangi nilai

Cache::pengurangan(‘kunci’);

Cache::decrement(‘kunci’, $jumlah);

Tag Tembolok

Mengakses cache yang ditandai

Tag cache memungkinkan Anda menandai item terkait di cache, lalu menghapus semua cache yang diberi tag dengan nama tertentu. Untuk mengakses cache yang diberi tag, gunakan metode tag.

Anda dapat menyimpan cache yang diberi tag dengan meneruskan daftar nama tag yang diurutkan sebagai argumen, atau sebagai larik nama tag yang diurutkan:

Cache::tags(‘people’, ‘authors’)->put(‘John’, $john, $minutes);

Cache::tag([‘people’, ‘artists’])->put(‘Anne’, $anne, $menit);

$anne = Cache::tags(‘people’, ‘artists’)->get(‘Anne’);

$john = Tembolok::tag([‘people’, ‘authors’])->get(‘Yohanes’);

Cache::tags(‘orang’, ‘penulis’)->flush();

Cache::tags(‘penulis’)->flush();

Acara Cache

Untuk mengeksekusi kode pada setiap operasi cache, Anda dapat mendengarkan peristiwa yang dipicu oleh cache:

Acara::listen(‘cache.hit’, function($key, $value) {

//

});

Acara::listen(‘cache.missed’, function($key) {

//

});

Acara::listen(‘cache.write’, function($key, $value, $minutes) {

//

});

Acara::listen(‘cache.delete’, function($key) {

//

});

Tembolok Basis Data

Saat menggunakan driver cache database, siapkan tabel untuk memuat item cache. Anda akan menemukan contoh deklarasi Skema untuk tabel di bawah ini:

Skema::buat(‘cache’, fungsi($tabel)

{

$tabel->string(‘kunci’)->unik();

$tabel->teks(‘nilai’);

$tabel->integer(‘kedaluwarsa’);

});

Konfigurasi default menggunakan TCP/IP berdasarkan Memcached::addServer:

‘memcached’ => array(

array(‘host’ => ‘127.0.0.1’, ‘port’ => 11211, ‘berat’ => 100),

),

‘memcached’ => array(

array(‘host’ => ‘/var/run/memcached/memcached.sock’, ‘port’ => 0, ‘weight’ => 100),

),

Kesimpulan

Caching memainkan peran penting dalam mengoptimalkan eksekusi aplikasi web Anda; itu mempercepat situs dan mengurangi waktu muat. Alat caching Laravel tingkat lanjut adalah cara yang bagus untuk mempercepat aplikasi Anda. Dengan Memcache, eksekusi aplikasi web Anda pasti akan meroket!



Dikutip Dari Berbagai Sumber:

Published for: MasDoni

Baca Juga  Cara Membuat Karyawan Jarak Jauh Anda Termotivasi

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.