Postingan lainnya
Apakah cache redis di laravel bisa diquery lagi ?
Contoh kasusnya seperti ini
$vstock = Cache::get('v_stock');
if (!$vstock) {
$vstock = Vstock::all();
Cache::put('v_stock', $vstock, 43200);
}
$cek = $vstock->where('item_no', '001')->where('id_wh', 'DPK')->first();
mohon pencerahannya teman2. terimakasih
Tanggapan
hai. kenapa tidak dicoba langsung? bagaimana hasilnya?
1 Jawaban:
<div>Ya, Redis cache di Laravel dapat di-query kembali. Dalam kode Anda, Anda menggunakan metode Cache::get()
untuk memeriksa apakah nilai untuk kunci v_stock
ada di dalam cache. Jika tidak ada, metode Vstock::all()
digunakan untuk melakukan query ke database dan hasilnya disimpan di dalam cache dengan kunci v_stock
dan TTL (Time-to-Live) sebesar 43200 detik (12 jam). Pada saat metode Cache::get()
selanjutnya dipanggil dengan kunci v_stock
, nilai akan dikembalikan dari cache daripada melakukan query ke database.<br><br>Anda juga dapat menggunakan metode Cache::remember()
untuk menyimpan hasil query di dalam cache. Metode Cache::remember()
mengambil tiga argumen: kunci, TTL, dan sebuah closure. Closure tersebut akan dieksekusi ketika nilai untuk kunci tidak ada di dalam cache. Hasil dari closure akan disimpan di dalam cache dengan kunci dan TTL yang telah ditentukan.<br><br>Sebagai contoh, kode berikut akan menyimpan hasil dari query selama 12 jam:<br><br><br></div><pre>$vstock = Cache::remember('v_stock', 43200, function () {
return Vstock::all();
});</pre><div><br><br>Pada saat metode Cache::get()
selanjutnya dipanggil dengan kunci v_stock
, nilai akan dikembalikan dari cache daripada melakukan query ke database.</div>