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
apakah redis bisa menggantikan database? apakah ada benchmark performance antara menggunakan redis dan MySql? Thanks
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.
Bermanfaat ini artikelnya mas. Sejauh ini saya paka docker+redis+elasticsearch+mongodb+mysql, masih terbaik.
Kita akan coba redis di web Milanisti Indonesia 😀
wah,,, thanks sudah mampir mas.
Saya seharusnya sudah melakukan registrasi di sana, tapi lupa terus. Sekarang sudah tidak ada alasan lagi hehehe…
FORZA MILAN
Mas,bisakah Redis digunakan pada bahasa pemograman berbasis objek,seperti vb.net???
Bisa, Redis bisa digunakan di hampir semua bahasa pemrograman. Pada prinsipnya, mengakses redis ibarat mengakses suatu database.
mas, bahasa artikelnya kok susah di pahami ya?
maaf mas kalau bahasanya berantakan 🙂
Hallo,
Terima kasih, artikelnya bermanfaat. Namun, saya ingin tanya. Apakah redis itu consume memory ? Saya sempat menanyakan kepada salah satu hoster, dia bilang bahwa redis itu minimal ramnya 64 Gb (mungkin ini untuk shared host).
Bagaimana dengan VPS ? Apakah ada minimal ramnya ? Karena saya cari juga belum ketemu minimum req untuk ram.
Terima kasih
Hi, Redis memang ditempatkan di RAM, jadi pasti mengambil tempat di sana. Penggunaan RAM untuk redis tentunya disesuaikan dengan kebutuhan aplikasi yang dijalankan. Kalau mau menggunakan VPS carilah yang scalable, jadi kalau sudah mau kehabisan RAM, tinggal menambahkan dengan mudah.
Mantap Mas Aplikasinya.
Kebetulan saya baru belajar redis nih. Bisa tolong dipraktikan dengan membuat aplikasi crud sederhana?
Terima kasih.
thanks gan sudah berkunjung, nanti saya usahakan buat artikelnya gan. Masih belum ada waktu
Lebih pilih mana mas, Redis atau MongoDB?
sepertinya itu 2 hal yg berbeda, redis untuk cache sedangkan mongodb adalah database noSQL. Kalau redis bisa dikomparasi dengan memcached, sedangkan mongodb dengan dynamodb 🙂