Menggunakan Redis untuk Server Side Caching — Part II

Redha Juanda
Redha Juanda
Published in
2 min readApr 20, 2020

Part II — Golang Redis

Penggunaan Redis

Redis dapat digunakan untuk banyak hal, yang paling umum digunakan antara lain adalah untuk:

  • Caching
  • Message Queues
  • Counting
  • Publish-Subscribe

Caching

Caching adalah proses penyimpanan sementara yang bertujuan untuk mempercepat proses request di waktu yang akan datang.

Jika kita mengunakan cache sebagai data store, maka client (atau server) akan lebih cepat ketika mengakses data tersebut karena cache menyimpan data di memory (RAM) dibandingkan dengan mengakses data store permanen yang bisa saja berada di service yang berbeda (seperti database atau eksternal API).

Caching dengan Redis

Di post kali ini, kita hanya akan membahas tentang penggunaan caching dengan Redis. Jadi bagaimana cara kerja cache itu sebenarnya? Mari kita lihat ilustrasi berikut:

  • Tanpa Caching
  • Dengan Caching

Ilustrasi diatas mungkin tidak sepenuhnya akurat, namun saya membuatnya sesederhana mungkin agar mudah untuk dipahami.

Ok, mari kita bahas satu persatu.

Pada ilustrasi pertama, ketika client mengirim request ke server, server langsung melakukan querying ke database dan menunggu database mengembalikan response, ketika database mengembalikan data yang diminta, server meneruskan data tersebut ke client.

Sedangkan pada ilustrasi kedua, ketika server mendapat request dari client, server melakukan pengecekan ke redis terlebih dahulu, jika data yang diminta tersedia di redis, maka server mengirim data tersebut ke client. Jika data yang diminta tidak tersedia di redis, maka server baru melakukan querying ke database, setelah database mengembalikan data yang diminta, server lalu menyimpan data tersebut ke redis agar tersedia pada request yang akan datang dan meneruskan data tersebut ke client.

Sebenarnya tidak terlalu jauh berbeda kan, disini kita hanya memanfaatkan keuntungan dari kecepatan akses Redis daripada harus melakukan querying database / eksternal API yang sudah pasti lebih expensive, agar response time nya lebih cepat dan client tidak menunggu terlalu lama.

Setelah kita memahami cara kerja caching, di post selanjutnya kita akan mencoba mengimplementasikan sistem caching dengan redis. So, stay tuned!

Sampai jumpa di post berikutnya 👾

Prev : Berkenalan dengan Redis dan Golang — Part I

Next : Implementasi Server Side Caching dengan Redis — Part III

--

--