Laravel 13.38 Hadirkan Middleware PreventStaleDatabaseReads untuk Cegah Data Basi
Laravel 13.38 menambahkan middleware PreventStaleDatabaseReads dan method DB::usingWritePdo(). Keduanya dibuat supaya pengguna langsung melihat data yang baru mereka simpan, meski aplikasimu membaca dari database replica.
Masalah yang dibidik Laravel 13.38
Banyak aplikasi memisahkan jalur database: tulis ke database utama, baca dari replica. Cara ini membantu membagi beban. Tapi replica kadang belum sempat menyalin data terbaru, sehingga pengguna yang baru menyimpan sesuatu bisa melihat versi lama saat halaman dimuat ulang.
Itulah yang disebut stale read, yaitu data yang dibaca ternyata sudah basi. Di mata pengguna, ini terasa seperti bug: "Perasaan tadi sudah saya simpan, kok belum berubah?"
Dua tambahan baru
- PreventStaleDatabaseReads: middleware baru untuk mencegah pengguna membaca data basi dari replica.
- DB::usingWritePdo(): method baru yang juga ditujukan agar pengguna melihat hasil tulisan mereka sendiri saat aplikasi membaca dari replica.
Sumber hanya memberi ringkasan singkat dan tidak menjelaskan cara kerja maupun contoh penggunaannya. Untuk detail implementasi, rujuk catatan rilis resmi Laravel 13.38.
Kalau aplikasimu sudah memakai read replica untuk menahan trafik, rilis ini layak kamu pantau. Masalah data basi paling mengganggu di alur yang menuntut hasil instan setelah pengguna menyimpan sesuatu, misalnya form atau pengaturan akun.