Caching (Redis) di Elysia-Light

Elysia-Light menyediakan utility caching berbasis Redis untuk menyimpan data sementara dan mengurangi beban query berulang. Utility ini bersifat ringan, eksplisit, dan memberi kontrol penuh kepada developer kapan cache digunakan dan kapan harus dibersihkan.

Konsep Dasar Caching

Caching digunakan untuk menyimpan hasil proses atau query yang sering dipakai agar tidak selalu dihitung ulang. Di Elysia-Light, cache tidak dipaksakan otomatis. Developer secara sadar menentukan kapan membaca, menulis, dan menghapus cache.

Koneksi Redis

Elysia-Light menggunakan ioredis sebagai client Redis. Koneksi dikonfigurasi melalui environment variable dan diinisialisasi sekali untuk seluruh aplikasi.
Kode berhasil di copy!
5

Membuat Cache Key

Utility cache.makeKey digunakan untuk menghasilkan key cache yang konsisten berdasarkan tipe data, prefix, dan parameter query.
Kode berhasil di copy!
5

Mengambil Data dari Cache

Gunakan cache.get untuk membaca data dari Redis. Jika cache tidak ditemukan atau gagal diparse, hasilnya adalah null.
Kode berhasil di copy!
5

Menyimpan Data ke Cache

Gunakan cache.set untuk menyimpan data ke Redis dengan waktu kedaluwarsa (TTL) dalam detik.
Kode berhasil di copy!
5

Contoh Pola Cache-Aside

Pola paling umum adalah cache-aside: cek cache terlebih dahulu, jika kosong ambil dari database lalu simpan ke cache.
Kode berhasil di copy!
5

Menghapus Cache

Cache dapat dihapus berdasarkan type dan prefix. Biasanya dipanggil setelah create, update, atau delete data.
Kode berhasil di copy!
5

Kapan Menggunakan Cache

  • List data dengan query yang sering sama
  • Dashboard atau statistik
  • Data referensi yang jarang berubah
  • Endpoint dengan beban baca tinggi

Best Practice

Gunakan cache secara selektif. Jangan cache semua endpoint. Selalu hapus cache setelah data berubah. Cache adalah optimasi, bukan sumber kebenaran utama.