Penyimpanan sementara untuk data yang sering diakses supaya nggak perlu ambil dari database terus-menerus, hasilnya: respon lebih cepat dan database nggak kelebihan beban.

Apa itu Cache?

Pernah nggak kamu buka website yang pertama kali loadingnya lama, tapi pas buka lagi jadi jauh lebih cepat? Itu salah satu efek cache bekerja.

Cache (dibaca 'kash') adalah layer penyimpanan sementara yang menyimpan data atau hasil komputasi yang sering diakses, di tempat yang lebih cepat diakses daripada sumber aslinya. Di dunia aplikasi dan data, ini biasanya berarti menyimpan hasil query database di memory (RAM) supaya query berikutnya untuk data yang sama nggak perlu ke database lagi.

Analogi Sederhana

Bayangin kamu kerja di kantor dan sering butuh data dari lemari arsip di lantai lain. Kalau tiap kali butuh data kamu harus naik turun tangga, itu lambat banget. Tapi kalau kamu salin dokumen yang sering dipakai dan taruh di laci meja sendiri, prosesnya jauh lebih cepat.

Laci meja kamu = Cache. Lemari arsip di lantai lain = Database.

Jenis-Jenis Cache

JenisDi mana TersimpanContoh
Browser CacheDi browser userHTML, CSS, gambar tersimpan lokal
CDN CacheDi server CDN dekat userAset statis seperti gambar dan JavaScript
Application CacheDi memory aplikasi serverHasil query yang sering dipakai
Database Buffer CacheDi dalam database itu sendiriInnoDB buffer pool di MySQL
Distributed CacheServer cache terpisahRedis, Memcached

Cache Hit vs Cache Miss

Dua istilah penting yang perlu kamu tau:

Cache Hit: Data yang diminta ada di cache. Respon cepat, database nggak terbebani.

Cache Miss: Data nggak ada di cache, belum pernah di-cache atau sudah expired. Aplikasi harus ambil dari database, simpan ke cache, lalu return ke user.

Cache Hit Rate adalah persentase request yang berhasil dilayani dari cache. Makin tinggi makin bagus, tapi 100% nggak mungkin karena data baru selalu butuh cache miss pertama kali.

Tantangan: Cache Invalidation

Masalah terbesar dalam caching adalah: kapan data di cache dihapus atau diperbarui? Kalau data di database berubah tapi cache masih menyimpan data lama, user bisa dapat informasi yang sudah usang (stale data).

Beberapa strategi umum:

TTL (Time-To-Live): Data cache otomatis expired setelah waktu tertentu, misalnya 5 menit atau 1 jam.

Cache Busting: Saat data di-update, hapus atau timpa cache yang relevan secara langsung.

Write-Through: Setiap kali data diupdate di database, update juga cache secara bersamaan.

Lanjut Latihan

Udah paham Cache? Lanjut latihan SQL dan Excel yuk!

Latihan interaktif, langsung di browser.

Mulai Latihan →