Redis Lebih Dari Sekedar Cache

Share

Redis adalah open source, struktur data yang ditempatkan di memori, digunakan sebagai database, cache dan message broker. Redis mendukung struktur data seperti string, sets, hash, lists dan sorted sets. Sama seperti cache, setiap key diisi oleh value. Tapi kelebihannya, Redis bisa digunakan untuk melakukan operasi dari value tersebut. Cara terbaik untuk memahami redis adalah membuat model aplikasi tanpa memikirkan bagaimana caranya untuk menyimpan data di dalam database.

Redis adalah struktur data pada server. Hal ini tentunya membuatnya lebih lambat daripada hanya sekedar menyimpan data pada memori lokal. Namun Redis juga memiliki beberapa hal yang menarik, antara lain :

  • Redis bisa diakses oleh semua proses dari aplikasi yang Anda bangun.
  • Penyimpanan dalam memori oleh Redis sangat efisien dan dilakukan dalam proses yang terpisah. Jika aplikasi berjalan pada platform atau bahasa pemrograman yang boros akan memori, Redis memungkinkan penanganan alokasi memori yang jauh lebih besar.
  • Redis dapat bertahan dalam disk jika dibutuhkan.
  • Redis sedikit lebih luas dari cache yang sederhana, Redis menyediakan berbagai struktur data.
  • Redis bisa meniru aktivitas dengan mekanisme master/slave untuk mengimplementasikan high-availability dari sebuah aplikasi.

Pada dasarnya, jika Anda membutuhkan aplikasi yang berskala besar dan beberapa modul berbagi data yang sama, maka Redis akan diperlukan untuk mempercepat aplikasi.

Seberapa Cepatkan Redis?

Hasil dari Redis ditentukan oleh 2 faktor yaitu throughput dan latency. Throughput adalah jumlah dari proses operasi dari database dalam satu waktu. Biasanya ketika aplikasi Anda meningkat, maka jumlah operasi dalam database juga akan meningkat. Akibatnya peningkatan throughput dalam database harus mempertahankan untuk menjaga kestabilan aplikasi. Latency adalah waktu yang dibutuhkan untuk menyelesaikan sebuah proses. Di dalam sistem yang terdistribusi, banyak latency yang harus diperhitungkan. “Seberapa cepatkah Redis?” Tetap menjadi pertanyaan rumit karena jawabannya benar-benar tergantung pada apa yang Anda lakukan dengan itu.

5 Faktor Penting Dalam Redis

  • Memory : karena Redis ibarat database yang ditempatkan di memori, RAM mungkin sumber daya yang terbatas.
  • Koneksi : setiap operasi dikirim ke Redis dalam konteks koneksi dari aplikasi klien. Tentunya jumlah koneksi secara bersamaan ke server Redis tentu selalu terbatas.
  • Cache hit ratio : Redis dapat digunakan sebagai cache yang cerdas dengan konfigurasi menggunaan memori yang baik.
  • Evictions : jika hit ratio dari cache Anda turun, mungkin relokasi memori telah menyebabkan terhapusnya data dari Redis.
  • Expired objects : karena relokasi memori menyebabkan memori untuk Redis habis, Anda mungkin tidak mengatur waktu kadaluarsa dari key Redis.

Kinerja dari database adalah tantangan no 1 untuk para programmer. Redis setidaknya menjadi pemecahan dari permasalahan itu. Namun untuk memastikan Redis berjalan pada TOP performance, adalah tugas yang yang membutuhkan pemantauan dengan menggunakan tool yang tepat.

Artikel selanjutnya : Cara Instalasi Redis di Windows dan Aplikasinya Dengan PHP

6 Comments

  1. apakah redis bisa menggantikan database? apakah ada benchmark performance antara menggunakan redis dan MySql? Thanks

    • mm
      yudana

      Oktober 21, 2016 at 12:50 pm

      Bisa, tapi ingat penyimpanan Redis itu di memori bukan di harddrive. Sementara ini saya tidak menemukan benchmarking antar keduanya, tapi bisa dicoba dengan menghitung lama proses yang dibutuhkan server untuk mengeksekusi keseluruhan kode.

  2. Bermanfaat ini artikelnya mas. Sejauh ini saya paka docker+redis+elasticsearch+mongodb+mysql, masih terbaik.

    Kita akan coba redis di web Milanisti Indonesia 😀

    • mm
      yudana

      November 12, 2016 at 7:11 am

      wah,,, thanks sudah mampir mas.
      Saya seharusnya sudah melakukan registrasi di sana, tapi lupa terus. Sekarang sudah tidak ada alasan lagi hehehe…
      FORZA MILAN

  3. Mas,bisakah Redis digunakan pada bahasa pemograman berbasis objek,seperti vb.net???

    • mm
      yudana

      Januari 15, 2017 at 7:49 am

      Bisa, Redis bisa digunakan di hampir semua bahasa pemrograman. Pada prinsipnya, mengakses redis ibarat mengakses suatu database.

Tinggalkan Balasan

Your email address will not be published.

*