BLOG | eabil-PLC

Profile

Bil'ticle

Kenapa Website Bisa Lambat? Mengenal Konsep Caching dan Peran Redis (1) - Perwira Learning Center

By nabil alifah rahman • Februari 12, 2026

 


Latar Belakang

Di era aplikasi modern, kecepatan website menjadi faktor penting dalam pengalaman pengguna.
Pengguna cenderung meninggalkan website yang membutuhkan waktu lebih dari beberapa detik untuk dimuat.

Masalahnya, banyak developer pemula mengira penyebab website lambat adalah:

  • Server kurang kuat

  • Internet pengguna lambat

  • Hosting jelek

Padahal dalam banyak kasus, penyebab utamanya adalah proses pengambilan data yang berulang-ulang ke database.

Contoh:
Halaman produk, artikel populer, profil user, kategori — data ini sering tidak berubah setiap detik.
Namun server tetap mengambilnya dari database setiap ada pengunjung.

Akibatnya: Database sibuk, CPU server naik, Response time meningkat, Website terasa berat.

Nah, untuk permasalahan seperti ini digunakan teknik caching.

 

Masalah Utama

Untuk memahami solusinya, kita harus paham akarnya. Dalam arsitektur web tradisional, komponen paling lambat hampir selalu adalah Database (Disk I/O).

  • Proses Standar: Saat user membuka halaman profil, server melakukan query ke database (SQL). Database harus mencari data di Hard Disk (atau SSD), memprosesnya, lalu mengirim balik.

  • Masalah Skalabilitas: Jika 1 orang akses, database cepat. Jika 10.000 orang akses bersamaan? Database akan "antre" (locking), CPU database melonjak, dan disk I/O menjadi macet. Inilah yang membuat website loading terus-menerus atau bahkan timeout (Error 500).

Analogi: Bayangkan Database adalah Perpustakaan Besar. Setiap kali ada pertanyaan, Anda harus berjalan ke rak, mencari buku, dan membacanya. Itu lambat.

 

Solusi: Konsep Caching

Caching adalah teknik menyimpan salinan data sementara di tempat yang lebih cepat diakses.

  • Memori vs. Disk: Cache hidup di RAM (seperti Redis), sedangkan Database utama hidup di Disk.

  • Prinsip Dasar: "Jangan tanya Database jika kita sudah tahu jawabannya."

Analogi Lanjutan: Caching adalah Catatan Kecil (Sticky Note) di Meja Anda. Jika ada pertanyaan yang sama berulang kali, Anda cukup melihat catatan di meja (RAM) tanpa perlu berjalan kembali ke rak perpustakaan (Disk).

 

Alur Kerja Caching (The Flow):

  1. Request Masuk: User meminta "Data Produk A".

  2. Cek Cache (Redis): Aplikasi bertanya, "Apakah data Produk A ada di Redis?"

  3. Cache Hit (Ada): Redis mengembalikan data instan. Database tidak disentuh. (Waktu: < 1ms)

  4. Cache Miss (Tidak Ada): Data tidak ada di Redis. Aplikasi mengambil dari Database (lambat), menyimpannya ke Redis untuk request berikutnya, lalu memberikannya ke user.

    Peran Spesifik Redis dalam Caching

    Redis bukan satu-satunya alat caching, tapi dia adalah standar industri. Mengapa?

    -kecepatannya ekstrem

    -fitur time to live 

    -struktur data untuk cachingnya cerdas.

     

Apa Itu Caching?

Caching adalah teknik menyimpan hasil proses yang sering digunakan agar tidak perlu dihitung ulang.

Tujuan utama caching:

  • Mengurangi beban database

  • Mempercepat respon server

  • Menghemat resource

Bagaimana Cara Kerja Tanpa Cache

Misalkan kita punya halaman daftar produk.

Setiap request:

  1. User membuka halaman

  2. Server menjalankan query database

  3. Database membaca disk

  4. Data dikirim kembali

  5. Server merender halaman

    User → Server → Database → Server → User
            (ulang terus setiap request) 

    Database hanya dipanggil jika:

  6. Data belum ada di cache

  7. Data sudah kadaluarsa

Ini disebut Cache Aside Pattern 

 

Lalu Kenapa Redis Digunakan untuk Cache??

Redis adalah database in-memory (menyimpan data di RAM).

RAM jauh lebih cepat daripada disk:

 

 

Perbandingan Waktu Nyata (Analogi)

Untuk membayangkan seberapa "Jauh Lebih Cepat" RAM itu, mari kita gunakan analogi waktu manusia:

  • Akses RAM (Redis): Seperti mengambil barang yang ada di saku celana Anda. (Waktu: Instan / Nanodetik).

  • Akses SSD: Seperti berjalan ke rak buku di kamar sebelah. (Waktu: Cepat, tapi butuh usaha).

  • Akses Harddisk: Seperti harus pergi ke perpustakaan kota untuk mencari buku. (Waktu: Sangat lama).

Dalam istilah teknis:

  • Akses RAM dihitung dalam mikrodetik ( detik).

  • Akses Disk/Database biasa dihitung dalam milidetik ( - detik). Perbedaannya bisa mencapai 100.000x lebih cepat.

     

Mengapa Tidak Pakai RAM untuk Semua Data?

Jika RAM begitu cepat, kenapa kita tidak menyimpan semua data di RAM saja?

  1. Mahal: Harga RAM per Gigabyte jauh lebih mahal daripada SSD/Harddisk.

  2. Volatile (Mudah Hilang): RAM membutuhkan listrik untuk menyimpan data. Jika server mati atau restart, data di RAM (secara default) akan hilang seketika. Sedangkan Harddisk menyimpan data secara permanen (Persistent).

Solusinya: Redis sebagai "Jembatan" (Cache)

Disinilah Redis masuk sebagai solusi tengah (Hybrid):

  1. Database Utama (MySQL/Postgres) di Disk: Menyimpan data asli, lengkap, dan aman (permanen), meskipun aksesnya agak lambat.

  2. Redis di RAM: Menyimpan data yang paling sering diminta atau data sementara.

Saat user meminta data:

  • Aplikasi cek Redis dulu. Jika ada (Cache Hit), data dikirim instan (User senang karena cepat).

  • Jika tidak ada di Redis (Cache Miss), baru aplikasi ambil dari Database utama, lalu simpan salinannya di Redis untuk permintaan berikutnya.

     

    Kesimpulan

    Kenapa Redis digunakan untuk Cache?

    Kecepatan Ekstrem: Karena berjalan di RAM, Redis menghilangkan waktu tunggu (latency) yang biasanya terjadi saat mengambil data dari Harddisk/Database biasa.

    Meringankan Beban Database: Daripada Database utama dipaksa melayani jutaan permintaan yang sama berulang-ulang, Redis mengambil alih beban tersebut. Database utama jadi lebih awet dan stabil.

    User Experience: Website atau aplikasi terasa "snappy" (responsif) dan tidak lemot, karena data disajikan dalam hitungan mikrodetik.

Singkatnya: Redis adalah "memori jangka pendek" super cepat bagi aplikasi Anda, sementara Database biasa adalah "arsip jangka panjang" yang aman.

 

  • Daftar Pustaka

    1. Carlson, J. L. (2013). (Relevansi: Membahas mendalam tentang fitur Redis, tipe data, dan penggunaannya dalam aplikasi nyata).

    2. Redis Ltd. (2024). Redis Documentation: Data Structures and Persistence. Diakses dari https://redis.io/docs/ (Relevansi: Sumber primer untuk definisi Redis, fitur TTL, dan struktur data).

    3. Amazon Web Services (AWS). (n.d.). Database Caching Strategies Using Redis. Diakses dari https://aws.amazon.com/caching/ 

    4. OpenAI ChatGPT 

    5. Google Gemini