Langsung ke konten

Arsip

Caching

9 artikel
Rekayasa Perangkat Lunak 22 Sep 2026 6 min read

Request Coalescing Mencegah Cache Miss Melipatgandakan Beban Backend

Request Coalescing Mencegah Cache Miss Melipatgandakan Beban Backend Cache miss biasanya murah ketika satu caller memicu satu lookup ke backend. Miss yang sama dapat menjadi mahal ketika banyak caller datang untuk key yang sama dalam waktu hampir bersamaan. Setiap caller melihat key belum tersedia, masing-masing memulai pekerjaan identik, lalu backend menerima lonjakan justru ketika cache tidak memberi perlindungan untuk key tersebut. Request coalescing mengubah pola concurrency itu. Caller pertama menjadi leader untuk sebuah key. Caller berikutnya bergabung dengan operasi yang sedang berjalan dan menunggu hasilnya, bukan memulai pekerjaan setara. Setelah fill selesai, hasilnya dapat mengisi cache sekaligus dikembalikan kepada caller yang menunggu.

Rekayasa Perangkat Lunak 21 Sep 2026 6 min read

Request Coalescing Meredam Lonjakan Cache Miss

Request Coalescing Meredam Lonjakan Cache Miss Cache miss biasanya murah ketika satu caller memicu satu backend read. Miss yang sama dapat menjadi mahal ketika ratusan caller datang untuk key yang sama sebelum fill pertama selesai. Setiap caller melihat cache kosong lalu memulai work yang setara, sehingga load berlipat tepat ketika cached value sedang tidak tersedia. Request coalescing menempatkan concurrency boundary kecil di sekitar fill tersebut. Caller pertama memulai operasi backend. Caller berikutnya untuk key yang sama bergabung dengan operasi yang sedang berjalan, bukan memulai operasi baru. Setelah selesai, hasilnya dapat mengisi cache sekaligus dikirim ke caller yang menunggu.

Rekayasa Perangkat Lunak 21 Sep 2026 6 min read

Consistent Hashing Membatasi Perpindahan Key Saat Membership Berubah

Consistent Hashing Membatasi Perpindahan Key Saat Membership Berubah Partisi hash sederhana sering tampak memadai: owner = hash(key) % node_count Dengan empat node, setiap key masuk ke salah satu dari empat remainder. Masalah muncul saat membership berubah. Peralihan dari empat node menjadi lima mengubah modulus, sehingga sebagian besar key memilih owner berbeda meski hanya satu node yang ditambahkan.

Rekayasa Perangkat Lunak 20 Sep 2026 5 min read

Stale-While-Revalidate Mengeluarkan Refresh Cache dari Request Path

Stale-While-Revalidate Mengeluarkan Refresh Cache dari Request Path Cache entry tidak langsung kehilangan seluruh kegunaannya tepat saat freshness timer habis. Untuk sebagian data, value yang berumur beberapa detik tetap lebih berguna daripada membuat setiap caller menunggu backend refresh. Stale-while-revalidate memakai toleransi tersebut secara eksplisit: cache dapat menyajikan value yang sudah expired selama interval terbatas sementara refresh berjalan terpisah. Policy ini mengubah refresh dari kewajiban di request path menjadi background work untuk entry yang masih dapat diterima saat stale. Latency spike di sekitar expiration dapat berkurang, tetapi service harus memiliki batas jelas mengenai umur maksimum response yang masih boleh disajikan.

Rekayasa Perangkat Lunak 20 Sep 2026 4 min read

Request Coalescing Menggabungkan Cache Miss yang Terjadi Bersamaan

Request Coalescing Menggabungkan Cache Miss yang Terjadi Bersamaan Cache miss dapat menjadi mahal ketika banyak request meminta key yang sama pada waktu hampir bersamaan. Tanpa koordinasi, setiap caller dapat memulai query database, remote call, atau komputasi yang identik. Cache akhirnya terisi, tetapi backend menerima burst tepat ketika nilai cache sedang tidak tersedia. Request coalescing mengubah batas concurrency tersebut. Caller pertama memulai load dan menerbitkan in-flight entry untuk key itu. Caller berikutnya bergabung ke entry tersebut alih-alih memulai pekerjaan ekuivalen. Setelah load selesai, hasilnya dibagikan kepada caller yang menunggu lalu in-flight entry dihapus.

Rekayasa Perangkat Lunak 19 Sep 2026 6 min read

Request Coalescing Menyatukan Cache Miss Konkuren Menjadi Satu Fill

Cache dapat mengurangi trafik backend pada kondisi stabil, tetapi justru memperbesar kerja saat sebuah entry populer kedaluwarsa. Jika seratus request melihat key yang sama dalam keadaan kosong sebelum nilai pengganti tersimpan, jalur lookup biasa dapat mengirim seratus read yang setara ke origin. Cache tetap bekerja sesuai aturan lookup-nya; amplifikasi muncul dari concurrency selama interval kosong tersebut. Request coalescing mengubah interval itu. Caller pertama untuk sebuah key memulai fill, sedangkan caller berikutnya dengan key yang sama bergabung ke operasi yang sedang berjalan alih-alih memulai kerja setara. Setelah operasi selesai, hasilnya dibagikan kepada caller yang menunggu dan, bila sesuai, disimpan ke cache.

Rekayasa Perangkat Lunak 16 Sep 2026 6 min read

Negative Caching DNS Dapat Bertahan Setelah Record Dibuat

Recursive DNS resolver dapat terus mengembalikan hasil ketiadaan lama setelah authoritative zone memperoleh nama yang diminta. Record baru dan negative answer yang tersimpan di cache tidak saling bertentangan: keduanya berada pada titik berbeda dalam jalur resolution, dan cache tetap valid sampai negative TTL berakhir atau policy lokal menghapusnya lebih cepat. Perilaku ini memberi ketiadaan DNS lifetime cache tersendiri. Menerbitkan record mengubah state authoritative, tetapi tidak secara sinkron membatalkan negative entry yang sudah tersimpan pada recursive resolver.

Rekayasa Perangkat Lunak 16 Sep 2026 6 min read

HTTP Stale-While-Revalidate Memindahkan Refresh Cache dari Request Path

Cache dapat langsung mengembalikan stored response yang sudah expired dan memulai validation secara paralel ketika stale-while-revalidate mengizinkan reuse tersebut. Request yang menemukan stale entry karena itu tidak harus ikut menanggung origin validation latency, tetapi dapat menerima representation data yang lebih lama daripada normal freshness lifetime. Ini adalah pergeseran yang disengaja dalam cache contract. Freshness tetap berakhir pada boundary yang dikonfigurasi. Extension menambahkan interval terpisah tempat stale reuse diizinkan sementara validation berlangsung, sehingga response age dan request latency menjadi sebagian terpisah.

Teknologi 12 Sep 2026 5 min read

Cache Browser dan File Web yang Kedaluwarsa

Sebuah situs dapat berubah di server sementara satu browser masih menampilkan gambar, script, atau respons halaman versi lama. Membuka alamat yang sama di browser lain mungkin langsung menampilkan versi baru. Perbedaan ini sering berasal dari HTTP cache browser, yang dapat menggunakan kembali respons tersimpan alih-alih mengunduh byte yang sama lagi. Cache browser bukan sekadar folder berisi file yang ada atau tidak ada. HTTP memberi respons tersimpan state freshness dan menyediakan validator untuk memeriksa apakah konten tersimpan masih cocok dengan server. Aturan tersebut menentukan kapan reuse menghindari transfer jaringan dan kapan browser harus menghubungi server kembali.